<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span id="local-6989586621680938915"><span id="local-6989586621680938916"><span id="local-6989586621680938917"><span id="local-6989586621680938918"><span id="local-6989586621680938919"><span id="local-6989586621680938920"></span></span></span></span></span></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-2"></span><span class="hs-comment">--</span><span>
</span><span id="line-3"></span><span class="hs-comment">-- Object-file symbols (called CLabel for histerical raisins).</span><span>
</span><span id="line-4"></span><span class="hs-comment">--</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- (c) The University of Glasgow 2004-2006</span><span>
</span><span id="line-6"></span><span class="hs-comment">--</span><span>
</span><span id="line-7"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-8"></span><span>
</span><span id="line-9"></span><span class="hs-pragma">{-# LANGUAGE CPP #-}</span><span>
</span><span id="line-10"></span><span class="hs-pragma">{-# LANGUAGE BangPatterns #-}</span><span>
</span><span id="line-11"></span><span class="hs-pragma">{-# LANGUAGE LambdaCase #-}</span><span>
</span><span id="line-12"></span><span>
</span><span id="line-13"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Cmm.CLabel</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-14"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier">CLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="hs-comment">-- abstract type</span><span>
</span><span id="line-15"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier">NeedExternDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-16"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelSource"><span class="hs-identifier">ForeignLabelSource</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-17"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#pprDebugCLabel"><span class="hs-identifier">pprDebugCLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-18"></span><span>
</span><span id="line-19"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkClosureLabel"><span class="hs-identifier">mkClosureLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-20"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSRTLabel"><span class="hs-identifier">mkSRTLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-21"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkInfoTableLabel"><span class="hs-identifier">mkInfoTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-22"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkEntryLabel"><span class="hs-identifier">mkEntryLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-23"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRednCountsLabel"><span class="hs-identifier">mkRednCountsLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-24"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkConInfoTableLabel"><span class="hs-identifier">mkConInfoTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-25"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkApEntryLabel"><span class="hs-identifier">mkApEntryLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-26"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkApInfoTableLabel"><span class="hs-identifier">mkApInfoTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-27"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkClosureTableLabel"><span class="hs-identifier">mkClosureTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-28"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBytesLabel"><span class="hs-identifier">mkBytesLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-29"></span><span>
</span><span id="line-30"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkLocalBlockLabel"><span class="hs-identifier">mkLocalBlockLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-31"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkLocalClosureLabel"><span class="hs-identifier">mkLocalClosureLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-32"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkLocalInfoTableLabel"><span class="hs-identifier">mkLocalInfoTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-33"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkLocalClosureTableLabel"><span class="hs-identifier">mkLocalClosureTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-34"></span><span>
</span><span id="line-35"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBlockInfoTableLabel"><span class="hs-identifier">mkBlockInfoTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-36"></span><span>
</span><span id="line-37"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBitmapLabel"><span class="hs-identifier">mkBitmapLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-38"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkStringLitLabel"><span class="hs-identifier">mkStringLitLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkAsmTempLabel"><span class="hs-identifier">mkAsmTempLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-41"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkAsmTempDerivedLabel"><span class="hs-identifier">mkAsmTempDerivedLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-42"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkAsmTempEndLabel"><span class="hs-identifier">mkAsmTempEndLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-43"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkAsmTempDieLabel"><span class="hs-identifier">mkAsmTempDieLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-44"></span><span>
</span><span id="line-45"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkDirty_MUT_VAR_Label"><span class="hs-identifier">mkDirty_MUT_VAR_Label</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-46"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkNonmovingWriteBarrierEnabledLabel"><span class="hs-identifier">mkNonmovingWriteBarrierEnabledLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-47"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkUpdInfoLabel"><span class="hs-identifier">mkUpdInfoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-48"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBHUpdInfoLabel"><span class="hs-identifier">mkBHUpdInfoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-49"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkIndStaticInfoLabel"><span class="hs-identifier">mkIndStaticInfoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-50"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkMainCapabilityLabel"><span class="hs-identifier">mkMainCapabilityLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-51"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkMAP_FROZEN_CLEAN_infoLabel"><span class="hs-identifier">mkMAP_FROZEN_CLEAN_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-52"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkMAP_FROZEN_DIRTY_infoLabel"><span class="hs-identifier">mkMAP_FROZEN_DIRTY_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-53"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkMAP_DIRTY_infoLabel"><span class="hs-identifier">mkMAP_DIRTY_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-54"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSMAP_FROZEN_CLEAN_infoLabel"><span class="hs-identifier">mkSMAP_FROZEN_CLEAN_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-55"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSMAP_FROZEN_DIRTY_infoLabel"><span class="hs-identifier">mkSMAP_FROZEN_DIRTY_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-56"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSMAP_DIRTY_infoLabel"><span class="hs-identifier">mkSMAP_DIRTY_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-57"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBadAlignmentLabel"><span class="hs-identifier">mkBadAlignmentLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-58"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkArrWords_infoLabel"><span class="hs-identifier">mkArrWords_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-59"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSRTInfoLabel"><span class="hs-identifier">mkSRTInfoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-60"></span><span>
</span><span id="line-61"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkTopTickyCtrLabel"><span class="hs-identifier">mkTopTickyCtrLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-62"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCAFBlackHoleInfoTableLabel"><span class="hs-identifier">mkCAFBlackHoleInfoTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-63"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRtsPrimOpLabel"><span class="hs-identifier">mkRtsPrimOpLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-64"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRtsSlowFastTickyCtrLabel"><span class="hs-identifier">mkRtsSlowFastTickyCtrLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-65"></span><span>
</span><span id="line-66"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSelectorInfoLabel"><span class="hs-identifier">mkSelectorInfoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-67"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSelectorEntryLabel"><span class="hs-identifier">mkSelectorEntryLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-68"></span><span>
</span><span id="line-69"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmInfoLabel"><span class="hs-identifier">mkCmmInfoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-70"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmEntryLabel"><span class="hs-identifier">mkCmmEntryLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-71"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmRetInfoLabel"><span class="hs-identifier">mkCmmRetInfoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-72"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmRetLabel"><span class="hs-identifier">mkCmmRetLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-73"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmCodeLabel"><span class="hs-identifier">mkCmmCodeLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-74"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmDataLabel"><span class="hs-identifier">mkCmmDataLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-75"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRtsCmmDataLabel"><span class="hs-identifier">mkRtsCmmDataLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-76"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmClosureLabel"><span class="hs-identifier">mkCmmClosureLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-77"></span><span>
</span><span id="line-78"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRtsApFastLabel"><span class="hs-identifier">mkRtsApFastLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-79"></span><span>
</span><span id="line-80"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkPrimCallLabel"><span class="hs-identifier">mkPrimCallLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-81"></span><span>
</span><span id="line-82"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkForeignLabel"><span class="hs-identifier">mkForeignLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-83"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#addLabelSize"><span class="hs-identifier">addLabelSize</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-84"></span><span>
</span><span id="line-85"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#foreignLabelStdcallInfo"><span class="hs-identifier">foreignLabelStdcallInfo</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-86"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isBytesLabel"><span class="hs-identifier">isBytesLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-87"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isForeignLabel"><span class="hs-identifier">isForeignLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-88"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isSomeRODataLabel"><span class="hs-identifier">isSomeRODataLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-89"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isStaticClosureLabel"><span class="hs-identifier">isStaticClosureLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-90"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCCLabel"><span class="hs-identifier">mkCCLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCCSLabel"><span class="hs-identifier">mkCCSLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-91"></span><span>
</span><span id="line-92"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabelInfo"><span class="hs-identifier">DynamicLinkerLabelInfo</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-93"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkDynamicLinkerLabel"><span class="hs-identifier">mkDynamicLinkerLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-94"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#dynamicLinkerLabelInfo"><span class="hs-identifier">dynamicLinkerLabelInfo</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-95"></span><span>
</span><span id="line-96"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkPicBaseLabel"><span class="hs-identifier">mkPicBaseLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-97"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkDeadStripPreventer"><span class="hs-identifier">mkDeadStripPreventer</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-98"></span><span>
</span><span id="line-99"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkHpcTicksLabel"><span class="hs-identifier">mkHpcTicksLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-100"></span><span>
</span><span id="line-101"></span><span>        </span><span class="annot"><span class="hs-comment">-- * Predicates</span></span><span>
</span><span id="line-102"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#hasCAF"><span class="hs-identifier">hasCAF</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-103"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier">needsCDecl</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#maybeLocalBlockLabel"><span class="hs-identifier">maybeLocalBlockLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier">externallyVisibleCLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-104"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isMathFun"><span class="hs-identifier">isMathFun</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-105"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isCFunctionLabel"><span class="hs-identifier">isCFunctionLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isGcPtrLabel"><span class="hs-identifier">isGcPtrLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelDynamic"><span class="hs-identifier">labelDynamic</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-106"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isLocalCLabel"><span class="hs-identifier">isLocalCLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mayRedirectTo"><span class="hs-identifier">mayRedirectTo</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-107"></span><span>
</span><span id="line-108"></span><span>        </span><span class="annot"><span class="hs-comment">-- * Conversions</span></span><span>
</span><span id="line-109"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#toClosureLbl"><span class="hs-identifier">toClosureLbl</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#toSlowEntryLbl"><span class="hs-identifier">toSlowEntryLbl</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#toEntryLbl"><span class="hs-identifier">toEntryLbl</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#toInfoLbl"><span class="hs-identifier">toInfoLbl</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#hasHaskellName"><span class="hs-identifier">hasHaskellName</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-110"></span><span>
</span><span id="line-111"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#pprCLabel"><span class="hs-identifier">pprCLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-112"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isInfoTableLabel"><span class="hs-identifier">isInfoTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-113"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isConInfoTableLabel"><span class="hs-identifier">isConInfoTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-114"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isIdLabel"><span class="hs-identifier">isIdLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#isTickyLabel"><span class="hs-identifier">isTickyLabel</span></a></span><span>
</span><span id="line-115"></span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span class="hs-cpp">

#include &quot;HsVersions.h&quot;
</span><span>
</span><span id="line-119"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-120"></span><span>
</span><span id="line-121"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html"><span class="hs-identifier">GHC.Types.Id.Info</span></a></span><span>
</span><span id="line-122"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Basic.html"><span class="hs-identifier">GHC.Types.Basic</span></a></span><span>
</span><span id="line-123"></span><span class="hs-keyword">import</span><span> </span><span class="hs-pragma">{-# SOURCE</span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="annot"><a href="GHC.Cmm.BlockId.html"><span class="hs-identifier">GHC.Cmm.BlockId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.BlockId.html#BlockId"><span class="hs-identifier">BlockId</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.BlockId.html#mkBlockId"><span class="hs-identifier">mkBlockId</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-124"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.html"><span class="hs-identifier">GHC.Unit</span></a></span><span>
</span><span id="line-125"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Name.html"><span class="hs-identifier">GHC.Types.Name</span></a></span><span>
</span><span id="line-126"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html"><span class="hs-identifier">GHC.Types.Unique</span></a></span><span>
</span><span id="line-127"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Builtin.PrimOps.html"><span class="hs-identifier">GHC.Builtin.PrimOps</span></a></span><span>
</span><span id="line-128"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.CostCentre.html"><span class="hs-identifier">GHC.Types.CostCentre</span></a></span><span>
</span><span id="line-129"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html"><span class="hs-identifier">GHC.Utils.Outputable</span></a></span><span>
</span><span id="line-130"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html"><span class="hs-identifier">GHC.Data.FastString</span></a></span><span>
</span><span id="line-131"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Driver.Session.html"><span class="hs-identifier">GHC.Driver.Session</span></a></span><span>
</span><span id="line-132"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#"><span class="hs-identifier">GHC.Platform</span></a></span><span>
</span><span id="line-133"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html"><span class="hs-identifier">GHC.Types.Unique.Set</span></a></span><span>
</span><span id="line-134"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Misc.html"><span class="hs-identifier">GHC.Utils.Misc</span></a></span><span>
</span><span id="line-135"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Core.Ppr.html"><span class="hs-identifier">GHC.Core.Ppr</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="hs-comment">{- instances -}</span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-136"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Config.html"><span class="hs-identifier">GHC.CmmToAsm.Config</span></a></span><span>
</span><span id="line-137"></span><span>
</span><span id="line-138"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-139"></span><span class="hs-comment">-- The CLabel type</span><span>
</span><span id="line-140"></span><span>
</span><span id="line-141"></span><span class="hs-comment">{- |
  'CLabel' is an abstract type that supports the following operations:

  - Pretty printing

  - In a C file, does it need to be declared before use?  (i.e. is it
    guaranteed to be already in scope in the places we need to refer to it?)

  - If it needs to be declared, what type (code or data) should it be
    declared to have?

  - Is it visible outside this object file or not?

  - Is it &quot;dynamic&quot; (see details below)

  - Eq and Ord, so that we can make sets of CLabels (currently only
    used in outputting C as far as I can tell, to avoid generating
    more than one declaration for any given label).

  - Converting an info table label into an entry label.

  CLabel usage is a bit messy in GHC as they are used in a number of different
  contexts:

  - By the C-- AST to identify labels

  - By the unregisterised C code generator (\&quot;PprC\&quot;) for naming functions (hence
    the name 'CLabel')

  - By the native and LLVM code generators to identify labels

  For extra fun, each of these uses a slightly different subset of constructors
  (e.g. 'AsmTempLabel' and 'AsmTempDerivedLabel' are used only in the NCG and
  LLVM backends).

  In general, we use 'IdLabel' to represent Haskell things early in the
  pipeline. However, later optimization passes will often represent blocks they
  create with 'LocalBlockLabel' where there is no obvious 'Name' to hang off the
  label.
-}</span><span>
</span><span id="line-181"></span><span>
</span><span id="line-182"></span><span class="hs-keyword">data</span><span> </span><span id="CLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-var">CLabel</span></a></span></span><span>
</span><span id="line-183"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-comment">-- | A label related to the definition of a particular Id or Con in a .hs file.</span><span>
</span><span id="line-184"></span><span>    </span><span id="IdLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span></span><span>
</span><span id="line-185"></span><span>        </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span>
</span><span id="line-186"></span><span>        </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span>
</span><span id="line-187"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabelInfo"><span class="hs-identifier hs-type">IdLabelInfo</span></a></span><span>             </span><span class="hs-comment">-- ^ encodes the suffix of the label</span><span>
</span><span id="line-188"></span><span>
</span><span id="line-189"></span><span>  </span><span class="hs-comment">-- | A label from a .cmm file that is not associated with a .hs level Id.</span><span>
</span><span id="line-190"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CmmLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span></span><span>
</span><span id="line-191"></span><span>        </span><span class="annot"><a href="GHC.Unit.Types.html#UnitId"><span class="hs-identifier hs-type">UnitId</span></a></span><span>                  </span><span class="hs-comment">-- ^ what package the label belongs to.</span><span>
</span><span id="line-192"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-type">NeedExternDecl</span></a></span><span>          </span><span class="hs-comment">-- ^ does the label need an &quot;extern ..&quot; declaration</span><span>
</span><span id="line-193"></span><span>        </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span>              </span><span class="hs-comment">-- ^ identifier giving the prefix of the label</span><span>
</span><span id="line-194"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabelInfo"><span class="hs-identifier hs-type">CmmLabelInfo</span></a></span><span>            </span><span class="hs-comment">-- ^ encodes the suffix of the label</span><span>
</span><span id="line-195"></span><span>
</span><span id="line-196"></span><span>  </span><span class="hs-comment">-- | A label with a baked-in \/ algorithmically generated name that definitely</span><span>
</span><span id="line-197"></span><span>  </span><span class="hs-comment">--    comes from the RTS. The code for it must compile into libHSrts.a \/ libHSrts.so</span><span>
</span><span id="line-198"></span><span>  </span><span class="hs-comment">--    If it doesn't have an algorithmically generated name then use a CmmLabel</span><span>
</span><span id="line-199"></span><span>  </span><span class="hs-comment">--    instead and give it an appropriate UnitId argument.</span><span>
</span><span id="line-200"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="RtsLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-var">RtsLabel</span></a></span></span><span>
</span><span id="line-201"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabelInfo"><span class="hs-identifier hs-type">RtsLabelInfo</span></a></span><span>
</span><span id="line-202"></span><span>
</span><span id="line-203"></span><span>  </span><span class="hs-comment">-- | A label associated with a block. These aren't visible outside of the</span><span>
</span><span id="line-204"></span><span>  </span><span class="hs-comment">-- compilation unit in which they are defined. These are generally used to</span><span>
</span><span id="line-205"></span><span>  </span><span class="hs-comment">-- name blocks produced by Cmm-to-Cmm passes and the native code generator,</span><span>
</span><span id="line-206"></span><span>  </span><span class="hs-comment">-- where we don't have a 'Name' to associate the label to and therefore can't</span><span>
</span><span id="line-207"></span><span>  </span><span class="hs-comment">-- use 'IdLabel'.</span><span>
</span><span id="line-208"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="LocalBlockLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-var">LocalBlockLabel</span></a></span></span><span>
</span><span id="line-209"></span><span>        </span><span class="hs-pragma">{-# UNPACK</span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span>
</span><span id="line-210"></span><span>
</span><span id="line-211"></span><span>  </span><span class="hs-comment">-- | A 'C' (or otherwise foreign) label.</span><span>
</span><span id="line-212"></span><span>  </span><span class="hs-comment">--</span><span>
</span><span id="line-213"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="ForeignLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-var">ForeignLabel</span></a></span></span><span>
</span><span id="line-214"></span><span>        </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span>              </span><span class="hs-comment">-- ^ name of the imported label.</span><span>
</span><span id="line-215"></span><span>
</span><span id="line-216"></span><span>        </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-special">)</span><span>             </span><span class="hs-comment">-- ^ possible '@n' suffix for stdcall functions</span><span>
</span><span id="line-217"></span><span>                                </span><span class="hs-comment">-- When generating C, the '@n' suffix is omitted, but when</span><span>
</span><span id="line-218"></span><span>                                </span><span class="hs-comment">-- generating assembler we must add it to the label.</span><span>
</span><span id="line-219"></span><span>
</span><span id="line-220"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelSource"><span class="hs-identifier hs-type">ForeignLabelSource</span></a></span><span>      </span><span class="hs-comment">-- ^ what package the foreign label is in.</span><span>
</span><span id="line-221"></span><span>
</span><span id="line-222"></span><span>        </span><span class="annot"><a href="GHC.Types.Basic.html#FunctionOrData"><span class="hs-identifier hs-type">FunctionOrData</span></a></span><span>
</span><span id="line-223"></span><span>
</span><span id="line-224"></span><span>  </span><span class="hs-comment">-- | Local temporary label used for native (or LLVM) code generation; must not</span><span>
</span><span id="line-225"></span><span>  </span><span class="hs-comment">-- appear outside of these contexts. Use primarily for debug information</span><span>
</span><span id="line-226"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="AsmTempLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-var">AsmTempLabel</span></a></span></span><span>
</span><span id="line-227"></span><span>        </span><span class="hs-pragma">{-# UNPACK</span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span>
</span><span id="line-228"></span><span>
</span><span id="line-229"></span><span>  </span><span class="hs-comment">-- | A label \&quot;derived\&quot; from another 'CLabel' by the addition of a suffix.</span><span>
</span><span id="line-230"></span><span>  </span><span class="hs-comment">-- Must not occur outside of the NCG or LLVM code generators.</span><span>
</span><span id="line-231"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="AsmTempDerivedLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-var">AsmTempDerivedLabel</span></a></span></span><span>
</span><span id="line-232"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-233"></span><span>        </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span>              </span><span class="hs-comment">-- ^ suffix</span><span>
</span><span id="line-234"></span><span>
</span><span id="line-235"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="StringLitLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-var">StringLitLabel</span></a></span></span><span>
</span><span id="line-236"></span><span>        </span><span class="hs-pragma">{-# UNPACK</span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span>
</span><span id="line-237"></span><span>
</span><span id="line-238"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CC_Label"><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-var">CC_Label</span></a></span></span><span>  </span><span class="annot"><a href="GHC.Types.CostCentre.html#CostCentre"><span class="hs-identifier hs-type">CostCentre</span></a></span><span>
</span><span id="line-239"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CCS_Label"><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-var">CCS_Label</span></a></span></span><span> </span><span class="annot"><a href="GHC.Types.CostCentre.html#CostCentreStack"><span class="hs-identifier hs-type">CostCentreStack</span></a></span><span>
</span><span id="line-240"></span><span>
</span><span id="line-241"></span><span>
</span><span id="line-242"></span><span>  </span><span class="hs-comment">-- | These labels are generated and used inside the NCG only.</span><span>
</span><span id="line-243"></span><span>  </span><span class="hs-comment">--    They are special variants of a label used for dynamic linking</span><span>
</span><span id="line-244"></span><span>  </span><span class="hs-comment">--    see module PositionIndependentCode for details.</span><span>
</span><span id="line-245"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="DynamicLinkerLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-var">DynamicLinkerLabel</span></a></span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabelInfo"><span class="hs-identifier hs-type">DynamicLinkerLabelInfo</span></a></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-246"></span><span>
</span><span id="line-247"></span><span>  </span><span class="hs-comment">-- | This label is generated and used inside the NCG only.</span><span>
</span><span id="line-248"></span><span>  </span><span class="hs-comment">--    It is used as a base for PIC calculations on some platforms.</span><span>
</span><span id="line-249"></span><span>  </span><span class="hs-comment">--    It takes the form of a local numeric assembler label '1'; and</span><span>
</span><span id="line-250"></span><span>  </span><span class="hs-comment">--    is pretty-printed as 1b, referring to the previous definition</span><span>
</span><span id="line-251"></span><span>  </span><span class="hs-comment">--    of 1: in the assembler source file.</span><span>
</span><span id="line-252"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="PicBaseLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-var">PicBaseLabel</span></a></span></span><span>
</span><span id="line-253"></span><span>
</span><span id="line-254"></span><span>  </span><span class="hs-comment">-- | A label before an info table to prevent excessive dead-stripping on darwin</span><span>
</span><span id="line-255"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="DeadStripPreventer"><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-var">DeadStripPreventer</span></a></span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-256"></span><span>
</span><span id="line-257"></span><span>
</span><span id="line-258"></span><span>  </span><span class="hs-comment">-- | Per-module table of tick locations</span><span>
</span><span id="line-259"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="HpcTicksLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-var">HpcTicksLabel</span></a></span></span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span>
</span><span id="line-260"></span><span>
</span><span id="line-261"></span><span>  </span><span class="hs-comment">-- | Static reference table</span><span>
</span><span id="line-262"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="SRTLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-var">SRTLabel</span></a></span></span><span>
</span><span id="line-263"></span><span>        </span><span class="hs-pragma">{-# UNPACK</span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span>
</span><span id="line-264"></span><span>
</span><span id="line-265"></span><span>  </span><span class="hs-comment">-- | A bitmap (function or case return)</span><span>
</span><span id="line-266"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="LargeBitmapLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#LargeBitmapLabel"><span class="hs-identifier hs-var">LargeBitmapLabel</span></a></span></span><span>
</span><span id="line-267"></span><span>        </span><span class="hs-pragma">{-# UNPACK</span><span> </span><span class="hs-pragma">#-}</span><span> </span><span class="hs-glyph">!</span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span>
</span><span id="line-268"></span><span>
</span><span id="line-269"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span id="local-6989586621680938685"><span id="local-6989586621680938722"><span class="annot"><span class="annottext">CLabel -&gt; CLabel -&gt; Bool
(CLabel -&gt; CLabel -&gt; Bool)
-&gt; (CLabel -&gt; CLabel -&gt; Bool) -&gt; Eq CLabel
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: CLabel -&gt; CLabel -&gt; Bool
$c/= :: CLabel -&gt; CLabel -&gt; Bool
== :: CLabel -&gt; CLabel -&gt; Bool
$c== :: CLabel -&gt; CLabel -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span>
</span><span id="line-270"></span><span>
</span><span id="line-271"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isIdLabel"><span class="hs-identifier hs-type">isIdLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-272"></span><span id="isIdLabel"><span class="annot"><span class="annottext">isIdLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isIdLabel"><span class="hs-identifier hs-var hs-var">isIdLabel</span></a></span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-273"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isIdLabel"><span class="hs-identifier hs-var">isIdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-274"></span><span>
</span><span id="line-275"></span><span class="hs-comment">-- Used in SRT analysis. See Note [Ticky labels in SRT analysis] in</span><span>
</span><span id="line-276"></span><span class="hs-comment">-- GHC.Cmm.Info.Build.</span><span>
</span><span id="line-277"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isTickyLabel"><span class="hs-identifier hs-type">isTickyLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-278"></span><span id="isTickyLabel"><span class="annot"><span class="annottext">isTickyLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isTickyLabel"><span class="hs-identifier hs-var hs-var">isTickyLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RednCounts"><span class="hs-identifier hs-var">RednCounts</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-279"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isTickyLabel"><span class="hs-identifier hs-var">isTickyLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-280"></span><span>
</span><span id="line-281"></span><span class="hs-comment">-- | Indicate if &quot;GHC.CmmToC&quot; has to generate an extern declaration for the</span><span>
</span><span id="line-282"></span><span class="hs-comment">-- label (e.g. &quot;extern StgWordArray(foo)&quot;).  The type is fixed to StgWordArray.</span><span>
</span><span id="line-283"></span><span class="hs-comment">--</span><span>
</span><span id="line-284"></span><span class="hs-comment">-- Symbols from the RTS don't need &quot;extern&quot; declarations because they are</span><span>
</span><span id="line-285"></span><span class="hs-comment">-- exposed via &quot;includes/Stg.h&quot; with the appropriate type. See 'needsCDecl'.</span><span>
</span><span id="line-286"></span><span class="hs-comment">--</span><span>
</span><span id="line-287"></span><span class="hs-comment">-- The fixed StgWordArray type led to &quot;conflicting types&quot; issues with user</span><span>
</span><span id="line-288"></span><span class="hs-comment">-- provided Cmm files (not in the RTS) that declare data of another type (#15467</span><span>
</span><span id="line-289"></span><span class="hs-comment">-- and test for #17920).  Hence the Cmm parser considers that labels in data</span><span>
</span><span id="line-290"></span><span class="hs-comment">-- sections don't need the &quot;extern&quot; declaration (just add one explicitly if you</span><span>
</span><span id="line-291"></span><span class="hs-comment">-- need it).</span><span>
</span><span id="line-292"></span><span class="hs-comment">--</span><span>
</span><span id="line-293"></span><span class="hs-comment">-- See https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler/backends/ppr-c#prototypes</span><span>
</span><span id="line-294"></span><span class="hs-comment">-- for why extern declaration are needed at all.</span><span>
</span><span id="line-295"></span><span class="hs-keyword">newtype</span><span> </span><span id="NeedExternDecl"><span class="annot"><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span></span><span>
</span><span id="line-296"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span id="NeedExternDecl"><span class="annot"><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-297"></span><span>   </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680938652"><span id="local-6989586621680938656"><span id="local-6989586621680938660"><span id="local-6989586621680938664"><span id="local-6989586621680938668"><span id="local-6989586621680938672"><span id="local-6989586621680938677"><span class="annot"><span class="annottext">Eq NeedExternDecl
Eq NeedExternDecl
-&gt; (NeedExternDecl -&gt; NeedExternDecl -&gt; Ordering)
-&gt; (NeedExternDecl -&gt; NeedExternDecl -&gt; Bool)
-&gt; (NeedExternDecl -&gt; NeedExternDecl -&gt; Bool)
-&gt; (NeedExternDecl -&gt; NeedExternDecl -&gt; Bool)
-&gt; (NeedExternDecl -&gt; NeedExternDecl -&gt; Bool)
-&gt; (NeedExternDecl -&gt; NeedExternDecl -&gt; NeedExternDecl)
-&gt; (NeedExternDecl -&gt; NeedExternDecl -&gt; NeedExternDecl)
-&gt; Ord NeedExternDecl
NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
NeedExternDecl -&gt; NeedExternDecl -&gt; Ordering
NeedExternDecl -&gt; NeedExternDecl -&gt; NeedExternDecl
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: NeedExternDecl -&gt; NeedExternDecl -&gt; NeedExternDecl
$cmin :: NeedExternDecl -&gt; NeedExternDecl -&gt; NeedExternDecl
max :: NeedExternDecl -&gt; NeedExternDecl -&gt; NeedExternDecl
$cmax :: NeedExternDecl -&gt; NeedExternDecl -&gt; NeedExternDecl
&gt;= :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
$c&gt;= :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
&gt; :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
$c&gt; :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
&lt;= :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
$c&lt;= :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
&lt; :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
$c&lt; :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
compare :: NeedExternDecl -&gt; NeedExternDecl -&gt; Ordering
$ccompare :: NeedExternDecl -&gt; NeedExternDecl -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></span></span></span></span></span></span></span></span><span class="hs-special">,</span><span id="local-6989586621680938641"><span id="local-6989586621680938646"><span class="annot"><span class="annottext">NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
(NeedExternDecl -&gt; NeedExternDecl -&gt; Bool)
-&gt; (NeedExternDecl -&gt; NeedExternDecl -&gt; Bool) -&gt; Eq NeedExternDecl
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
$c/= :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
== :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
$c== :: NeedExternDecl -&gt; NeedExternDecl -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-298"></span><span>
</span><span id="line-299"></span><span class="hs-comment">-- This is laborious, but necessary. We can't derive Ord because</span><span>
</span><span id="line-300"></span><span class="hs-comment">-- Unique doesn't have an Ord instance. Note nonDetCmpUnique in the</span><span>
</span><span id="line-301"></span><span class="hs-comment">-- implementation. See Note [No Ord for Unique]</span><span>
</span><span id="line-302"></span><span class="hs-comment">-- This is non-deterministic but we do not currently support deterministic</span><span>
</span><span id="line-303"></span><span class="hs-comment">-- code-generation. See Note [Unique Determinism and code generation]</span><span>
</span><span id="line-304"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680938624"><span id="local-6989586621680938626"><span id="local-6989586621680938628"><span id="local-6989586621680938630"><span id="local-6989586621680938632"><span id="local-6989586621680938634"><span class="annot"><span class="hs-identifier hs-type">Ord</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span></span></span></span></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-305"></span><span>  </span><span id="local-6989586621680938592"><span class="annot"><span class="annottext">compare :: CLabel -&gt; CLabel -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var">compare</span></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938590"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938590"><span class="hs-identifier hs-var">a1</span></a></span></span><span> </span><span id="local-6989586621680938589"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938589"><span class="hs-identifier hs-var">b1</span></a></span></span><span> </span><span id="local-6989586621680938588"><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938588"><span class="hs-identifier hs-var">c1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938587"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938587"><span class="hs-identifier hs-var">a2</span></a></span></span><span> </span><span id="local-6989586621680938586"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938586"><span class="hs-identifier hs-var">b2</span></a></span></span><span> </span><span id="local-6989586621680938585"><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938585"><span class="hs-identifier hs-var">c2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-306"></span><span>    </span><span class="annot"><span class="annottext">Name -&gt; Name -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938590"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938587"><span class="hs-identifier hs-var">a2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-307"></span><span>    </span><span class="annot"><span class="annottext">CafInfo -&gt; CafInfo -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938589"><span class="hs-identifier hs-var">b1</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938586"><span class="hs-identifier hs-var">b2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-308"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo -&gt; IdLabelInfo -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938588"><span class="hs-identifier hs-var">c1</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938585"><span class="hs-identifier hs-var">c2</span></a></span><span>
</span><span id="line-309"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938583"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938583"><span class="hs-identifier hs-var">a1</span></a></span></span><span> </span><span id="local-6989586621680938582"><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938582"><span class="hs-identifier hs-var">b1</span></a></span></span><span> </span><span id="local-6989586621680938581"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938581"><span class="hs-identifier hs-var">c1</span></a></span></span><span> </span><span id="local-6989586621680938580"><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="#local-6989586621680938580"><span class="hs-identifier hs-var">d1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938579"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938579"><span class="hs-identifier hs-var">a2</span></a></span></span><span> </span><span id="local-6989586621680938578"><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938578"><span class="hs-identifier hs-var">b2</span></a></span></span><span> </span><span id="local-6989586621680938577"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938577"><span class="hs-identifier hs-var">c2</span></a></span></span><span> </span><span id="local-6989586621680938576"><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="#local-6989586621680938576"><span class="hs-identifier hs-var">d2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-310"></span><span>    </span><span class="annot"><span class="annottext">UnitId -&gt; UnitId -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938583"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938579"><span class="hs-identifier hs-var">a2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-311"></span><span>    </span><span class="annot"><span class="annottext">NeedExternDecl -&gt; NeedExternDecl -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938582"><span class="hs-identifier hs-var">b1</span></a></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938578"><span class="hs-identifier hs-var">b2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-312"></span><span>    </span><span class="annot"><span class="annottext">FastString -&gt; FastString -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938581"><span class="hs-identifier hs-var">c1</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938577"><span class="hs-identifier hs-var">c2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-313"></span><span>    </span><span class="annot"><span class="annottext">CmmLabelInfo -&gt; CmmLabelInfo -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="#local-6989586621680938580"><span class="hs-identifier hs-var">d1</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="#local-6989586621680938576"><span class="hs-identifier hs-var">d2</span></a></span><span>
</span><span id="line-314"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span id="local-6989586621680938575"><span class="annot"><span class="annottext">RtsLabelInfo
</span><a href="#local-6989586621680938575"><span class="hs-identifier hs-var">a1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span id="local-6989586621680938574"><span class="annot"><span class="annottext">RtsLabelInfo
</span><a href="#local-6989586621680938574"><span class="hs-identifier hs-var">a2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo -&gt; RtsLabelInfo -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo
</span><a href="#local-6989586621680938575"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo
</span><a href="#local-6989586621680938574"><span class="hs-identifier hs-var">a2</span></a></span><span>
</span><span id="line-315"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span id="local-6989586621680938573"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938573"><span class="hs-identifier hs-var">u1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span id="local-6989586621680938572"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938572"><span class="hs-identifier hs-var">u2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; Unique -&gt; Ordering
</span><a href="GHC.Types.Unique.html#nonDetCmpUnique"><span class="hs-identifier hs-var">nonDetCmpUnique</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938573"><span class="hs-identifier hs-var">u1</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938572"><span class="hs-identifier hs-var">u2</span></a></span><span>
</span><span id="line-316"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span id="local-6989586621680938570"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938570"><span class="hs-identifier hs-var">a1</span></a></span></span><span> </span><span id="local-6989586621680938569"><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621680938569"><span class="hs-identifier hs-var">b1</span></a></span></span><span> </span><span id="local-6989586621680938568"><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938568"><span class="hs-identifier hs-var">c1</span></a></span></span><span> </span><span id="local-6989586621680938567"><span class="annot"><span class="annottext">FunctionOrData
</span><a href="#local-6989586621680938567"><span class="hs-identifier hs-var">d1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span id="local-6989586621680938566"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938566"><span class="hs-identifier hs-var">a2</span></a></span></span><span> </span><span id="local-6989586621680938565"><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621680938565"><span class="hs-identifier hs-var">b2</span></a></span></span><span> </span><span id="local-6989586621680938564"><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938564"><span class="hs-identifier hs-var">c2</span></a></span></span><span> </span><span id="local-6989586621680938563"><span class="annot"><span class="annottext">FunctionOrData
</span><a href="#local-6989586621680938563"><span class="hs-identifier hs-var">d2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-317"></span><span>    </span><span class="annot"><span class="annottext">FastString -&gt; FastString -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938570"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938566"><span class="hs-identifier hs-var">a2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-318"></span><span>    </span><span class="annot"><span class="annottext">Maybe Int -&gt; Maybe Int -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621680938569"><span class="hs-identifier hs-var">b1</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621680938565"><span class="hs-identifier hs-var">b2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-319"></span><span>    </span><span class="annot"><span class="annottext">ForeignLabelSource -&gt; ForeignLabelSource -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938568"><span class="hs-identifier hs-var">c1</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938564"><span class="hs-identifier hs-var">c2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-320"></span><span>    </span><span class="annot"><span class="annottext">FunctionOrData -&gt; FunctionOrData -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><a href="#local-6989586621680938567"><span class="hs-identifier hs-var">d1</span></a></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><a href="#local-6989586621680938563"><span class="hs-identifier hs-var">d2</span></a></span><span>
</span><span id="line-321"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span> </span><span id="local-6989586621680938562"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938562"><span class="hs-identifier hs-var">u1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span> </span><span id="local-6989586621680938561"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938561"><span class="hs-identifier hs-var">u2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; Unique -&gt; Ordering
</span><a href="GHC.Types.Unique.html#nonDetCmpUnique"><span class="hs-identifier hs-var">nonDetCmpUnique</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938562"><span class="hs-identifier hs-var">u1</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938561"><span class="hs-identifier hs-var">u2</span></a></span><span>
</span><span id="line-322"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-type">AsmTempDerivedLabel</span></a></span><span> </span><span id="local-6989586621680938560"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938560"><span class="hs-identifier hs-var">a1</span></a></span></span><span> </span><span id="local-6989586621680938559"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938559"><span class="hs-identifier hs-var">b1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-type">AsmTempDerivedLabel</span></a></span><span> </span><span id="local-6989586621680938558"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938558"><span class="hs-identifier hs-var">a2</span></a></span></span><span> </span><span id="local-6989586621680938557"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938557"><span class="hs-identifier hs-var">b2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-323"></span><span>    </span><span class="annot"><span class="annottext">CLabel -&gt; CLabel -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938560"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938558"><span class="hs-identifier hs-var">a2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-324"></span><span>    </span><span class="annot"><span class="annottext">FastString -&gt; FastString -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938559"><span class="hs-identifier hs-var">b1</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938557"><span class="hs-identifier hs-var">b2</span></a></span><span>
</span><span id="line-325"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-type">StringLitLabel</span></a></span><span> </span><span id="local-6989586621680938556"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938556"><span class="hs-identifier hs-var">u1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-type">StringLitLabel</span></a></span><span> </span><span id="local-6989586621680938555"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938555"><span class="hs-identifier hs-var">u2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-326"></span><span>    </span><span class="annot"><span class="annottext">Unique -&gt; Unique -&gt; Ordering
</span><a href="GHC.Types.Unique.html#nonDetCmpUnique"><span class="hs-identifier hs-var">nonDetCmpUnique</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938556"><span class="hs-identifier hs-var">u1</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938555"><span class="hs-identifier hs-var">u2</span></a></span><span>
</span><span id="line-327"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-type">CC_Label</span></a></span><span> </span><span id="local-6989586621680938554"><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938554"><span class="hs-identifier hs-var">a1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-type">CC_Label</span></a></span><span> </span><span id="local-6989586621680938553"><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938553"><span class="hs-identifier hs-var">a2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-328"></span><span>    </span><span class="annot"><span class="annottext">CostCentre -&gt; CostCentre -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938554"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938553"><span class="hs-identifier hs-var">a2</span></a></span><span>
</span><span id="line-329"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-type">CCS_Label</span></a></span><span> </span><span id="local-6989586621680938552"><span class="annot"><span class="annottext">CostCentreStack
</span><a href="#local-6989586621680938552"><span class="hs-identifier hs-var">a1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-type">CCS_Label</span></a></span><span> </span><span id="local-6989586621680938551"><span class="annot"><span class="annottext">CostCentreStack
</span><a href="#local-6989586621680938551"><span class="hs-identifier hs-var">a2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-330"></span><span>    </span><span class="annot"><span class="annottext">CostCentreStack -&gt; CostCentreStack -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CostCentreStack
</span><a href="#local-6989586621680938552"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentreStack
</span><a href="#local-6989586621680938551"><span class="hs-identifier hs-var">a2</span></a></span><span>
</span><span id="line-331"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span> </span><span id="local-6989586621680938550"><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938550"><span class="hs-identifier hs-var">a1</span></a></span></span><span> </span><span id="local-6989586621680938549"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938549"><span class="hs-identifier hs-var">b1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span> </span><span id="local-6989586621680938548"><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938548"><span class="hs-identifier hs-var">a2</span></a></span></span><span> </span><span id="local-6989586621680938547"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938547"><span class="hs-identifier hs-var">b2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-332"></span><span>    </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938550"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938548"><span class="hs-identifier hs-var">a2</span></a></span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-333"></span><span>    </span><span class="annot"><span class="annottext">CLabel -&gt; CLabel -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938549"><span class="hs-identifier hs-var">b1</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938547"><span class="hs-identifier hs-var">b2</span></a></span><span>
</span><span id="line-334"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-var">PicBaseLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-var">PicBaseLabel</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">EQ</span></span><span>
</span><span id="line-335"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-type">DeadStripPreventer</span></a></span><span> </span><span id="local-6989586621680938546"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938546"><span class="hs-identifier hs-var">a1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-type">DeadStripPreventer</span></a></span><span> </span><span id="local-6989586621680938545"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938545"><span class="hs-identifier hs-var">a2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-336"></span><span>    </span><span class="annot"><span class="annottext">CLabel -&gt; CLabel -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938546"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938545"><span class="hs-identifier hs-var">a2</span></a></span><span>
</span><span id="line-337"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-type">HpcTicksLabel</span></a></span><span> </span><span id="local-6989586621680938544"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938544"><span class="hs-identifier hs-var">a1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-type">HpcTicksLabel</span></a></span><span> </span><span id="local-6989586621680938543"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938543"><span class="hs-identifier hs-var">a2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-338"></span><span>    </span><span class="annot"><span class="annottext">Module -&gt; Module -&gt; Ordering
forall a. Ord a =&gt; a -&gt; a -&gt; Ordering
</span><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938544"><span class="hs-identifier hs-var">a1</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938543"><span class="hs-identifier hs-var">a2</span></a></span><span>
</span><span id="line-339"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-type">SRTLabel</span></a></span><span> </span><span id="local-6989586621680938542"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938542"><span class="hs-identifier hs-var">u1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-type">SRTLabel</span></a></span><span> </span><span id="local-6989586621680938541"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938541"><span class="hs-identifier hs-var">u2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-340"></span><span>    </span><span class="annot"><span class="annottext">Unique -&gt; Unique -&gt; Ordering
</span><a href="GHC.Types.Unique.html#nonDetCmpUnique"><span class="hs-identifier hs-var">nonDetCmpUnique</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938542"><span class="hs-identifier hs-var">u1</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938541"><span class="hs-identifier hs-var">u2</span></a></span><span>
</span><span id="line-341"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LargeBitmapLabel"><span class="hs-identifier hs-type">LargeBitmapLabel</span></a></span><span> </span><span id="local-6989586621680938540"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938540"><span class="hs-identifier hs-var">u1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LargeBitmapLabel"><span class="hs-identifier hs-type">LargeBitmapLabel</span></a></span><span> </span><span id="local-6989586621680938539"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938539"><span class="hs-identifier hs-var">u2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-342"></span><span>    </span><span class="annot"><span class="annottext">Unique -&gt; Unique -&gt; Ordering
</span><a href="GHC.Types.Unique.html#nonDetCmpUnique"><span class="hs-identifier hs-var">nonDetCmpUnique</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938540"><span class="hs-identifier hs-var">u1</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938539"><span class="hs-identifier hs-var">u2</span></a></span><span>
</span><span id="line-343"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-344"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-345"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-346"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-347"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-348"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-349"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-350"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-351"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-352"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-353"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-354"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-355"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-type">AsmTempDerivedLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-356"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-type">AsmTempDerivedLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-357"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-type">StringLitLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-358"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-type">StringLitLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-359"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-type">CC_Label</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-360"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-type">CC_Label</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-361"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-type">CCS_Label</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-362"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-type">CCS_Label</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-363"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-364"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-365"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-type">PicBaseLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-366"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-type">PicBaseLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-367"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-type">DeadStripPreventer</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-368"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-type">DeadStripPreventer</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-369"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-type">HpcTicksLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-370"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-type">HpcTicksLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-371"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-type">SRTLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">LT</span></span><span>
</span><span id="line-372"></span><span>  </span><span class="annot"><span class="hs-identifier hs-var">compare</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-type">SRTLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Ordering
</span><span class="hs-identifier hs-var">GT</span></span><span>
</span><span id="line-373"></span><span>
</span><span id="line-374"></span><span class="hs-comment">-- | Record where a foreign label is stored.</span><span>
</span><span id="line-375"></span><span class="hs-keyword">data</span><span> </span><span id="ForeignLabelSource"><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelSource"><span class="hs-identifier hs-var">ForeignLabelSource</span></a></span></span><span>
</span><span id="line-376"></span><span>
</span><span id="line-377"></span><span>   </span><span class="hs-comment">-- | Label is in a named package</span><span>
</span><span id="line-378"></span><span>   </span><span class="hs-glyph">=</span><span> </span><span id="ForeignLabelInPackage"><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelInPackage"><span class="hs-identifier hs-var">ForeignLabelInPackage</span></a></span></span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Unit"><span class="hs-identifier hs-type">Unit</span></a></span><span>
</span><span id="line-379"></span><span>
</span><span id="line-380"></span><span>   </span><span class="hs-comment">-- | Label is in some external, system package that doesn't also</span><span>
</span><span id="line-381"></span><span>   </span><span class="hs-comment">--   contain compiled Haskell code, and is not associated with any .hi files.</span><span>
</span><span id="line-382"></span><span>   </span><span class="hs-comment">--   We don't have to worry about Haskell code being inlined from</span><span>
</span><span id="line-383"></span><span>   </span><span class="hs-comment">--   external packages. It is safe to treat the RTS package as &quot;external&quot;.</span><span>
</span><span id="line-384"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span id="ForeignLabelInExternalPackage"><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelInExternalPackage"><span class="hs-identifier hs-var">ForeignLabelInExternalPackage</span></a></span></span><span>
</span><span id="line-385"></span><span>
</span><span id="line-386"></span><span>   </span><span class="hs-comment">-- | Label is in the package currently being compiled.</span><span>
</span><span id="line-387"></span><span>   </span><span class="hs-comment">--   This is only used for creating hacky tmp labels during code generation.</span><span>
</span><span id="line-388"></span><span>   </span><span class="hs-comment">--   Don't use it in any code that might be inlined across a package boundary</span><span>
</span><span id="line-389"></span><span>   </span><span class="hs-comment">--   (ie, core code) else the information will be wrong relative to the</span><span>
</span><span id="line-390"></span><span>   </span><span class="hs-comment">--   destination module.</span><span>
</span><span id="line-391"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span id="ForeignLabelInThisPackage"><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelInThisPackage"><span class="hs-identifier hs-var">ForeignLabelInThisPackage</span></a></span></span><span>
</span><span id="line-392"></span><span>
</span><span id="line-393"></span><span>   </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680938531"><span id="local-6989586621680938534"><span class="annot"><span class="annottext">ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
(ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool)
-&gt; (ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool)
-&gt; Eq ForeignLabelSource
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
$c/= :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
== :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
$c== :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680938510"><span id="local-6989586621680938512"><span id="local-6989586621680938515"><span id="local-6989586621680938518"><span id="local-6989586621680938521"><span id="local-6989586621680938524"><span id="local-6989586621680938527"><span class="annot"><span class="annottext">Eq ForeignLabelSource
Eq ForeignLabelSource
-&gt; (ForeignLabelSource -&gt; ForeignLabelSource -&gt; Ordering)
-&gt; (ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool)
-&gt; (ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool)
-&gt; (ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool)
-&gt; (ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool)
-&gt; (ForeignLabelSource -&gt; ForeignLabelSource -&gt; ForeignLabelSource)
-&gt; (ForeignLabelSource -&gt; ForeignLabelSource -&gt; ForeignLabelSource)
-&gt; Ord ForeignLabelSource
ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
ForeignLabelSource -&gt; ForeignLabelSource -&gt; Ordering
ForeignLabelSource -&gt; ForeignLabelSource -&gt; ForeignLabelSource
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; ForeignLabelSource
$cmin :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; ForeignLabelSource
max :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; ForeignLabelSource
$cmax :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; ForeignLabelSource
&gt;= :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
$c&gt;= :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
&gt; :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
$c&gt; :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
&lt;= :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
$c&lt;= :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
&lt; :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
$c&lt; :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Bool
compare :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Ordering
$ccompare :: ForeignLabelSource -&gt; ForeignLabelSource -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></span></span></span></span></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-394"></span><span>
</span><span id="line-395"></span><span>
</span><span id="line-396"></span><span class="hs-comment">-- | For debugging problems with the CLabel representation.</span><span>
</span><span id="line-397"></span><span class="hs-comment">--      We can't make a Show instance for CLabel because lots of its components don't have instances.</span><span>
</span><span id="line-398"></span><span class="hs-comment">--      The regular Outputable instance only shows the label name, and not its other info.</span><span>
</span><span id="line-399"></span><span class="hs-comment">--</span><span>
</span><span id="line-400"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#pprDebugCLabel"><span class="hs-identifier hs-type">pprDebugCLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-401"></span><span id="pprDebugCLabel"><span class="annot"><span class="annottext">pprDebugCLabel :: CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprDebugCLabel"><span class="hs-identifier hs-var hs-var">pprDebugCLabel</span></a></span></span><span> </span><span id="local-6989586621680938509"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938509"><span class="hs-identifier hs-var">lbl</span></a></span></span><span>
</span><span id="line-402"></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938509"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-403"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938508"><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938508"><span class="hs-identifier hs-var">info</span></a></span></span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938509"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;IdLabel&quot;</span></span><span>
</span><span id="line-404"></span><span>                                       </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#whenPprDebug"><span class="hs-identifier hs-var">whenPprDebug</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;:&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">IdLabelInfo -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938508"><span class="hs-identifier hs-var">info</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-405"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938501"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938501"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621680938500"><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938500"><span class="hs-identifier hs-var">_ext</span></a></span></span><span> </span><span id="local-6989586621680938499"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938499"><span class="hs-identifier hs-var">_name</span></a></span></span><span> </span><span id="local-6989586621680938498"><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="#local-6989586621680938498"><span class="hs-identifier hs-var">_info</span></a></span></span><span>
</span><span id="line-406"></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938509"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;CmmLabel&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938501"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-407"></span><span>
</span><span id="line-408"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938509"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;RtsLabel&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-409"></span><span>
</span><span id="line-410"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span id="local-6989586621680938496"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938496"><span class="hs-identifier hs-var">_name</span></a></span></span><span> </span><span id="local-6989586621680938495"><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621680938495"><span class="hs-identifier hs-var">mSuffix</span></a></span></span><span> </span><span id="local-6989586621680938494"><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938494"><span class="hs-identifier hs-var">src</span></a></span></span><span> </span><span id="local-6989586621680938493"><span class="annot"><span class="annottext">FunctionOrData
</span><a href="#local-6989586621680938493"><span class="hs-identifier hs-var">funOrData</span></a></span></span><span>
</span><span id="line-411"></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938509"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ForeignLabel&quot;</span></span><span>
</span><span id="line-412"></span><span>                                </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Int -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621680938495"><span class="hs-identifier hs-var">mSuffix</span></a></span><span>
</span><span id="line-413"></span><span>                                </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938494"><span class="hs-identifier hs-var">src</span></a></span><span>
</span><span id="line-414"></span><span>                                </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">FunctionOrData -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><a href="#local-6989586621680938493"><span class="hs-identifier hs-var">funOrData</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-415"></span><span>
</span><span id="line-416"></span><span>        </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938509"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;other CLabel&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-417"></span><span>
</span><span id="line-418"></span><span>
</span><span id="line-419"></span><span class="hs-keyword">data</span><span> </span><span id="IdLabelInfo"><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabelInfo"><span class="hs-identifier hs-var">IdLabelInfo</span></a></span></span><span>
</span><span id="line-420"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="Closure"><span class="annot"><a href="GHC.Cmm.CLabel.html#Closure"><span class="hs-identifier hs-var">Closure</span></a></span></span><span>             </span><span class="hs-comment">-- ^ Label for closure</span><span>
</span><span id="line-421"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="InfoTable"><span class="annot"><a href="GHC.Cmm.CLabel.html#InfoTable"><span class="hs-identifier hs-var">InfoTable</span></a></span></span><span>           </span><span class="hs-comment">-- ^ Info tables for closures; always read-only</span><span>
</span><span id="line-422"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Entry"><span class="annot"><a href="GHC.Cmm.CLabel.html#Entry"><span class="hs-identifier hs-var">Entry</span></a></span></span><span>               </span><span class="hs-comment">-- ^ Entry point</span><span>
</span><span id="line-423"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Slow"><span class="annot"><a href="GHC.Cmm.CLabel.html#Slow"><span class="hs-identifier hs-var">Slow</span></a></span></span><span>                </span><span class="hs-comment">-- ^ Slow entry point</span><span>
</span><span id="line-424"></span><span>
</span><span id="line-425"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="LocalInfoTable"><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalInfoTable"><span class="hs-identifier hs-var">LocalInfoTable</span></a></span></span><span>      </span><span class="hs-comment">-- ^ Like InfoTable but not externally visible</span><span>
</span><span id="line-426"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="LocalEntry"><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalEntry"><span class="hs-identifier hs-var">LocalEntry</span></a></span></span><span>          </span><span class="hs-comment">-- ^ Like Entry but not externally visible</span><span>
</span><span id="line-427"></span><span>
</span><span id="line-428"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="RednCounts"><span class="annot"><a href="GHC.Cmm.CLabel.html#RednCounts"><span class="hs-identifier hs-var">RednCounts</span></a></span></span><span>          </span><span class="hs-comment">-- ^ Label of place to keep Ticky-ticky  info for this Id</span><span>
</span><span id="line-429"></span><span>
</span><span id="line-430"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="ConEntry"><span class="annot"><a href="GHC.Cmm.CLabel.html#ConEntry"><span class="hs-identifier hs-var">ConEntry</span></a></span></span><span>            </span><span class="hs-comment">-- ^ Constructor entry point</span><span>
</span><span id="line-431"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="ConInfoTable"><span class="annot"><a href="GHC.Cmm.CLabel.html#ConInfoTable"><span class="hs-identifier hs-var">ConInfoTable</span></a></span></span><span>        </span><span class="hs-comment">-- ^ Corresponding info table</span><span>
</span><span id="line-432"></span><span>
</span><span id="line-433"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="ClosureTable"><span class="annot"><a href="GHC.Cmm.CLabel.html#ClosureTable"><span class="hs-identifier hs-var">ClosureTable</span></a></span></span><span>        </span><span class="hs-comment">-- ^ Table of closures for Enum tycons</span><span>
</span><span id="line-434"></span><span>
</span><span id="line-435"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="Bytes"><span class="annot"><a href="GHC.Cmm.CLabel.html#Bytes"><span class="hs-identifier hs-var">Bytes</span></a></span></span><span>               </span><span class="hs-comment">-- ^ Content of a string literal. See</span><span>
</span><span id="line-436"></span><span>                        </span><span class="hs-comment">-- Note [Bytes label].</span><span>
</span><span id="line-437"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="BlockInfoTable"><span class="annot"><a href="GHC.Cmm.CLabel.html#BlockInfoTable"><span class="hs-identifier hs-var">BlockInfoTable</span></a></span></span><span>      </span><span class="hs-comment">-- ^ Like LocalInfoTable but for a proc-point block</span><span>
</span><span id="line-438"></span><span>                        </span><span class="hs-comment">-- instead of a closure entry-point.</span><span>
</span><span id="line-439"></span><span>                        </span><span class="hs-comment">-- See Note [Proc-point local block entry-point].</span><span>
</span><span id="line-440"></span><span>
</span><span id="line-441"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680938478"><span id="local-6989586621680938480"><span class="annot"><span class="annottext">IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
(IdLabelInfo -&gt; IdLabelInfo -&gt; Bool)
-&gt; (IdLabelInfo -&gt; IdLabelInfo -&gt; Bool) -&gt; Eq IdLabelInfo
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
$c/= :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
== :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
$c== :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680938459"><span id="local-6989586621680938461"><span id="local-6989586621680938464"><span id="local-6989586621680938467"><span id="local-6989586621680938470"><span id="local-6989586621680938472"><span id="local-6989586621680938474"><span class="annot"><span class="annottext">Eq IdLabelInfo
Eq IdLabelInfo
-&gt; (IdLabelInfo -&gt; IdLabelInfo -&gt; Ordering)
-&gt; (IdLabelInfo -&gt; IdLabelInfo -&gt; Bool)
-&gt; (IdLabelInfo -&gt; IdLabelInfo -&gt; Bool)
-&gt; (IdLabelInfo -&gt; IdLabelInfo -&gt; Bool)
-&gt; (IdLabelInfo -&gt; IdLabelInfo -&gt; Bool)
-&gt; (IdLabelInfo -&gt; IdLabelInfo -&gt; IdLabelInfo)
-&gt; (IdLabelInfo -&gt; IdLabelInfo -&gt; IdLabelInfo)
-&gt; Ord IdLabelInfo
IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
IdLabelInfo -&gt; IdLabelInfo -&gt; Ordering
IdLabelInfo -&gt; IdLabelInfo -&gt; IdLabelInfo
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: IdLabelInfo -&gt; IdLabelInfo -&gt; IdLabelInfo
$cmin :: IdLabelInfo -&gt; IdLabelInfo -&gt; IdLabelInfo
max :: IdLabelInfo -&gt; IdLabelInfo -&gt; IdLabelInfo
$cmax :: IdLabelInfo -&gt; IdLabelInfo -&gt; IdLabelInfo
&gt;= :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
$c&gt;= :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
&gt; :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
$c&gt; :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
&lt;= :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
$c&lt;= :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
&lt; :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
$c&lt; :: IdLabelInfo -&gt; IdLabelInfo -&gt; Bool
compare :: IdLabelInfo -&gt; IdLabelInfo -&gt; Ordering
$ccompare :: IdLabelInfo -&gt; IdLabelInfo -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></span></span></span></span></span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680938453"><span id="local-6989586621680938455"><span id="local-6989586621680938457"><span class="annot"><span class="annottext">Int -&gt; IdLabelInfo -&gt; ShowS
[IdLabelInfo] -&gt; ShowS
IdLabelInfo -&gt; String
(Int -&gt; IdLabelInfo -&gt; ShowS)
-&gt; (IdLabelInfo -&gt; String)
-&gt; ([IdLabelInfo] -&gt; ShowS)
-&gt; Show IdLabelInfo
forall a.
(Int -&gt; a -&gt; ShowS) -&gt; (a -&gt; String) -&gt; ([a] -&gt; ShowS) -&gt; Show a
showList :: [IdLabelInfo] -&gt; ShowS
$cshowList :: [IdLabelInfo] -&gt; ShowS
show :: IdLabelInfo -&gt; String
$cshow :: IdLabelInfo -&gt; String
showsPrec :: Int -&gt; IdLabelInfo -&gt; ShowS
$cshowsPrec :: Int -&gt; IdLabelInfo -&gt; ShowS
</span><a href="../../base/src/GHC.Show.html#Show"><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Show</span></a></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-442"></span><span>
</span><span id="line-443"></span><span>
</span><span id="line-444"></span><span class="hs-keyword">data</span><span> </span><span id="RtsLabelInfo"><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabelInfo"><span class="hs-identifier hs-var">RtsLabelInfo</span></a></span></span><span>
</span><span id="line-445"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="RtsSelectorInfoTable"><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsSelectorInfoTable"><span class="hs-identifier hs-var">RtsSelectorInfoTable</span></a></span></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-comment">{-updatable-}</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-comment">{-offset-}</span><span>  </span><span class="hs-comment">-- ^ Selector thunks</span><span>
</span><span id="line-446"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="RtsSelectorEntry"><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsSelectorEntry"><span class="hs-identifier hs-var">RtsSelectorEntry</span></a></span></span><span>     </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-comment">{-updatable-}</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-comment">{-offset-}</span><span>
</span><span id="line-447"></span><span>
</span><span id="line-448"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="RtsApInfoTable"><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsApInfoTable"><span class="hs-identifier hs-var">RtsApInfoTable</span></a></span></span><span>       </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-comment">{-updatable-}</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-comment">{-arity-}</span><span>    </span><span class="hs-comment">-- ^ AP thunks</span><span>
</span><span id="line-449"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="RtsApEntry"><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsApEntry"><span class="hs-identifier hs-var">RtsApEntry</span></a></span></span><span>           </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-comment">{-updatable-}</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span class="hs-comment">{-arity-}</span><span>
</span><span id="line-450"></span><span>
</span><span id="line-451"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="RtsPrimOp"><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsPrimOp"><span class="hs-identifier hs-var">RtsPrimOp</span></a></span></span><span> </span><span class="annot"><a href="GHC.Builtin.PrimOps.html#PrimOp"><span class="hs-identifier hs-type">PrimOp</span></a></span><span>
</span><span id="line-452"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="RtsApFast"><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsApFast"><span class="hs-identifier hs-var">RtsApFast</span></a></span></span><span>     </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span>    </span><span class="hs-comment">-- ^ _fast versions of generic apply</span><span>
</span><span id="line-453"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="RtsSlowFastTickyCtr"><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsSlowFastTickyCtr"><span class="hs-identifier hs-var">RtsSlowFastTickyCtr</span></a></span></span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-454"></span><span>
</span><span id="line-455"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680938427"><span id="local-6989586621680938443"><span class="annot"><span class="annottext">RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
(RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool)
-&gt; (RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool) -&gt; Eq RtsLabelInfo
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
$c/= :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
== :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
$c== :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680938396"><span id="local-6989586621680938398"><span id="local-6989586621680938400"><span id="local-6989586621680938402"><span id="local-6989586621680938404"><span id="local-6989586621680938406"><span id="local-6989586621680938422"><span class="annot"><span class="annottext">Eq RtsLabelInfo
Eq RtsLabelInfo
-&gt; (RtsLabelInfo -&gt; RtsLabelInfo -&gt; Ordering)
-&gt; (RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool)
-&gt; (RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool)
-&gt; (RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool)
-&gt; (RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool)
-&gt; (RtsLabelInfo -&gt; RtsLabelInfo -&gt; RtsLabelInfo)
-&gt; (RtsLabelInfo -&gt; RtsLabelInfo -&gt; RtsLabelInfo)
-&gt; Ord RtsLabelInfo
RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
RtsLabelInfo -&gt; RtsLabelInfo -&gt; Ordering
RtsLabelInfo -&gt; RtsLabelInfo -&gt; RtsLabelInfo
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; RtsLabelInfo
$cmin :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; RtsLabelInfo
max :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; RtsLabelInfo
$cmax :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; RtsLabelInfo
&gt;= :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
$c&gt;= :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
&gt; :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
$c&gt; :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
&lt;= :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
$c&lt;= :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
&lt; :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
$c&lt; :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Bool
compare :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Ordering
$ccompare :: RtsLabelInfo -&gt; RtsLabelInfo -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></span></span></span></span></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-456"></span><span>  </span><span class="hs-comment">-- NOTE: Eq on PtrString compares the pointer only, so this isn't</span><span>
</span><span id="line-457"></span><span>  </span><span class="hs-comment">-- a real equality.</span><span>
</span><span id="line-458"></span><span>
</span><span id="line-459"></span><span>
</span><span id="line-460"></span><span class="hs-comment">-- | What type of Cmm label we're dealing with.</span><span>
</span><span id="line-461"></span><span class="hs-comment">--      Determines the suffix appended to the name when a CLabel.CmmLabel</span><span>
</span><span id="line-462"></span><span class="hs-comment">--      is pretty printed.</span><span>
</span><span id="line-463"></span><span class="hs-keyword">data</span><span> </span><span id="CmmLabelInfo"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabelInfo"><span class="hs-identifier hs-var">CmmLabelInfo</span></a></span></span><span>
</span><span id="line-464"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="CmmInfo"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span></span><span>                     </span><span class="hs-comment">-- ^ misc rts info tables,      suffix _info</span><span>
</span><span id="line-465"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CmmEntry"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmEntry"><span class="hs-identifier hs-var">CmmEntry</span></a></span></span><span>                    </span><span class="hs-comment">-- ^ misc rts entry points,     suffix _entry</span><span>
</span><span id="line-466"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CmmRetInfo"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmRetInfo"><span class="hs-identifier hs-var">CmmRetInfo</span></a></span></span><span>                  </span><span class="hs-comment">-- ^ misc rts ret info tables,  suffix _info</span><span>
</span><span id="line-467"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CmmRet"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmRet"><span class="hs-identifier hs-var">CmmRet</span></a></span></span><span>                      </span><span class="hs-comment">-- ^ misc rts return points,    suffix _ret</span><span>
</span><span id="line-468"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CmmData"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmData"><span class="hs-identifier hs-var">CmmData</span></a></span></span><span>                     </span><span class="hs-comment">-- ^ misc rts data bits, eg CHARLIKE_closure</span><span>
</span><span id="line-469"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CmmCode"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmCode"><span class="hs-identifier hs-var">CmmCode</span></a></span></span><span>                     </span><span class="hs-comment">-- ^ misc rts code</span><span>
</span><span id="line-470"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CmmClosure"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmClosure"><span class="hs-identifier hs-var">CmmClosure</span></a></span></span><span>                  </span><span class="hs-comment">-- ^ closures eg CHARLIKE_closure</span><span>
</span><span id="line-471"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="CmmPrimCall"><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmPrimCall"><span class="hs-identifier hs-var">CmmPrimCall</span></a></span></span><span>                 </span><span class="hs-comment">-- ^ a prim call to some hand written Cmm code</span><span>
</span><span id="line-472"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680938383"><span id="local-6989586621680938385"><span class="annot"><span class="annottext">CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
(CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool)
-&gt; (CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool) -&gt; Eq CmmLabelInfo
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
$c/= :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
== :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
$c== :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680938364"><span id="local-6989586621680938366"><span id="local-6989586621680938369"><span id="local-6989586621680938372"><span id="local-6989586621680938375"><span id="local-6989586621680938377"><span id="local-6989586621680938379"><span class="annot"><span class="annottext">Eq CmmLabelInfo
Eq CmmLabelInfo
-&gt; (CmmLabelInfo -&gt; CmmLabelInfo -&gt; Ordering)
-&gt; (CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool)
-&gt; (CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool)
-&gt; (CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool)
-&gt; (CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool)
-&gt; (CmmLabelInfo -&gt; CmmLabelInfo -&gt; CmmLabelInfo)
-&gt; (CmmLabelInfo -&gt; CmmLabelInfo -&gt; CmmLabelInfo)
-&gt; Ord CmmLabelInfo
CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
CmmLabelInfo -&gt; CmmLabelInfo -&gt; Ordering
CmmLabelInfo -&gt; CmmLabelInfo -&gt; CmmLabelInfo
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; CmmLabelInfo
$cmin :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; CmmLabelInfo
max :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; CmmLabelInfo
$cmax :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; CmmLabelInfo
&gt;= :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
$c&gt;= :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
&gt; :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
$c&gt; :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
&lt;= :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
$c&lt;= :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
&lt; :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
$c&lt; :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Bool
compare :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Ordering
$ccompare :: CmmLabelInfo -&gt; CmmLabelInfo -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></span></span></span></span></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-473"></span><span>
</span><span id="line-474"></span><span class="hs-keyword">data</span><span> </span><span id="DynamicLinkerLabelInfo"><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabelInfo"><span class="hs-identifier hs-var">DynamicLinkerLabelInfo</span></a></span></span><span>
</span><span id="line-475"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="CodeStub"><span class="annot"><a href="GHC.Cmm.CLabel.html#CodeStub"><span class="hs-identifier hs-var">CodeStub</span></a></span></span><span>                    </span><span class="hs-comment">-- MachO: Lfoo$stub, ELF: foo@plt</span><span>
</span><span id="line-476"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="SymbolPtr"><span class="annot"><a href="GHC.Cmm.CLabel.html#SymbolPtr"><span class="hs-identifier hs-var">SymbolPtr</span></a></span></span><span>                   </span><span class="hs-comment">-- MachO: Lfoo$non_lazy_ptr, Windows: __imp_foo</span><span>
</span><span id="line-477"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="GotSymbolPtr"><span class="annot"><a href="GHC.Cmm.CLabel.html#GotSymbolPtr"><span class="hs-identifier hs-var">GotSymbolPtr</span></a></span></span><span>                </span><span class="hs-comment">-- ELF: foo@got</span><span>
</span><span id="line-478"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="GotSymbolOffset"><span class="annot"><a href="GHC.Cmm.CLabel.html#GotSymbolOffset"><span class="hs-identifier hs-var">GotSymbolOffset</span></a></span></span><span>             </span><span class="hs-comment">-- ELF: foo@gotoff</span><span>
</span><span id="line-479"></span><span>
</span><span id="line-480"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680938356"><span id="local-6989586621680938358"><span class="annot"><span class="annottext">DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
(DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool)
-&gt; (DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool)
-&gt; Eq DynamicLinkerLabelInfo
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
$c/= :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
== :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
$c== :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680938337"><span id="local-6989586621680938339"><span id="local-6989586621680938342"><span id="local-6989586621680938345"><span id="local-6989586621680938348"><span id="local-6989586621680938350"><span id="local-6989586621680938352"><span class="annot"><span class="annottext">Eq DynamicLinkerLabelInfo
Eq DynamicLinkerLabelInfo
-&gt; (DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Ordering)
-&gt; (DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool)
-&gt; (DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool)
-&gt; (DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool)
-&gt; (DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool)
-&gt; (DynamicLinkerLabelInfo
    -&gt; DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo)
-&gt; (DynamicLinkerLabelInfo
    -&gt; DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo)
-&gt; Ord DynamicLinkerLabelInfo
DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Ordering
DynamicLinkerLabelInfo
-&gt; DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: DynamicLinkerLabelInfo
-&gt; DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo
$cmin :: DynamicLinkerLabelInfo
-&gt; DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo
max :: DynamicLinkerLabelInfo
-&gt; DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo
$cmax :: DynamicLinkerLabelInfo
-&gt; DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo
&gt;= :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
$c&gt;= :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
&gt; :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
$c&gt; :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
&lt;= :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
$c&lt;= :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
&lt; :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
$c&lt; :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Bool
compare :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Ordering
$ccompare :: DynamicLinkerLabelInfo -&gt; DynamicLinkerLabelInfo -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></span></span></span></span></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-481"></span><span>
</span><span id="line-482"></span><span>
</span><span id="line-483"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-484"></span><span class="hs-comment">-- Constructing CLabels</span><span>
</span><span id="line-485"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-486"></span><span>
</span><span id="line-487"></span><span class="hs-comment">-- Constructing IdLabels</span><span>
</span><span id="line-488"></span><span class="hs-comment">-- These are always local:</span><span>
</span><span id="line-489"></span><span>
</span><span id="line-490"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSRTLabel"><span class="hs-identifier hs-type">mkSRTLabel</span></a></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-491"></span><span id="mkSRTLabel"><span class="annot"><span class="annottext">mkSRTLabel :: Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkSRTLabel"><span class="hs-identifier hs-var hs-var">mkSRTLabel</span></a></span></span><span> </span><span id="local-6989586621680938336"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938336"><span class="hs-identifier hs-var">u</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-var">SRTLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938336"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-492"></span><span>
</span><span id="line-493"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRednCountsLabel"><span class="hs-identifier hs-type">mkRednCountsLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-494"></span><span id="mkRednCountsLabel"><span class="annot"><span class="annottext">mkRednCountsLabel :: Name -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkRednCountsLabel"><span class="hs-identifier hs-var hs-var">mkRednCountsLabel</span></a></span></span><span> </span><span id="local-6989586621680938335"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938335"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938335"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="GHC.Types.Id.Info.html#NoCafRefs"><span class="hs-identifier hs-var">NoCafRefs</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RednCounts"><span class="hs-identifier hs-var">RednCounts</span></a></span><span>  </span><span class="hs-comment">-- Note [ticky for LNE]</span><span>
</span><span id="line-495"></span><span>
</span><span id="line-496"></span><span class="hs-comment">-- These have local &amp; (possibly) external variants:</span><span>
</span><span id="line-497"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkLocalClosureLabel"><span class="hs-identifier hs-type">mkLocalClosureLabel</span></a></span><span>      </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-498"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkLocalInfoTableLabel"><span class="hs-identifier hs-type">mkLocalInfoTableLabel</span></a></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-499"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkLocalClosureTableLabel"><span class="hs-identifier hs-type">mkLocalClosureTableLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-500"></span><span id="mkLocalClosureLabel"><span class="annot"><span class="annottext">mkLocalClosureLabel :: Name -&gt; CafInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkLocalClosureLabel"><span class="hs-identifier hs-var hs-var">mkLocalClosureLabel</span></a></span></span><span>   </span><span class="hs-glyph">!</span><span id="local-6989586621680938333"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938333"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span class="hs-glyph">!</span><span id="local-6989586621680938332"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938332"><span class="hs-identifier hs-var">c</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938333"><span class="hs-identifier hs-var">name</span></a></span><span>  </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938332"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Closure"><span class="hs-identifier hs-var">Closure</span></a></span><span>
</span><span id="line-501"></span><span id="mkLocalInfoTableLabel"><span class="annot"><span class="annottext">mkLocalInfoTableLabel :: Name -&gt; CafInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkLocalInfoTableLabel"><span class="hs-identifier hs-var hs-var">mkLocalInfoTableLabel</span></a></span></span><span>   </span><span id="local-6989586621680938331"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938331"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span id="local-6989586621680938330"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938330"><span class="hs-identifier hs-var">c</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938331"><span class="hs-identifier hs-var">name</span></a></span><span>  </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938330"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalInfoTable"><span class="hs-identifier hs-var">LocalInfoTable</span></a></span><span>
</span><span id="line-502"></span><span id="mkLocalClosureTableLabel"><span class="annot"><span class="annottext">mkLocalClosureTableLabel :: Name -&gt; CafInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkLocalClosureTableLabel"><span class="hs-identifier hs-var hs-var">mkLocalClosureTableLabel</span></a></span></span><span> </span><span id="local-6989586621680938329"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938329"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span id="local-6989586621680938328"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938328"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938329"><span class="hs-identifier hs-var">name</span></a></span><span>  </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938328"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ClosureTable"><span class="hs-identifier hs-var">ClosureTable</span></a></span><span>
</span><span id="line-503"></span><span>
</span><span id="line-504"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkClosureLabel"><span class="hs-identifier hs-type">mkClosureLabel</span></a></span><span>              </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-505"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkInfoTableLabel"><span class="hs-identifier hs-type">mkInfoTableLabel</span></a></span><span>            </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-506"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkEntryLabel"><span class="hs-identifier hs-type">mkEntryLabel</span></a></span><span>                </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-507"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkClosureTableLabel"><span class="hs-identifier hs-type">mkClosureTableLabel</span></a></span><span>         </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-508"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkConInfoTableLabel"><span class="hs-identifier hs-type">mkConInfoTableLabel</span></a></span><span>         </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-509"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBytesLabel"><span class="hs-identifier hs-type">mkBytesLabel</span></a></span><span>                </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-510"></span><span id="mkClosureLabel"><span class="annot"><span class="annottext">mkClosureLabel :: Name -&gt; CafInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkClosureLabel"><span class="hs-identifier hs-var hs-var">mkClosureLabel</span></a></span></span><span> </span><span id="local-6989586621680938327"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938327"><span class="hs-identifier hs-var">name</span></a></span></span><span>         </span><span id="local-6989586621680938326"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938326"><span class="hs-identifier hs-var">c</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938327"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938326"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Closure"><span class="hs-identifier hs-var">Closure</span></a></span><span>
</span><span id="line-511"></span><span id="mkInfoTableLabel"><span class="annot"><span class="annottext">mkInfoTableLabel :: Name -&gt; CafInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkInfoTableLabel"><span class="hs-identifier hs-var hs-var">mkInfoTableLabel</span></a></span></span><span> </span><span id="local-6989586621680938325"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938325"><span class="hs-identifier hs-var">name</span></a></span></span><span>       </span><span id="local-6989586621680938324"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938324"><span class="hs-identifier hs-var">c</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938325"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938324"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#InfoTable"><span class="hs-identifier hs-var">InfoTable</span></a></span><span>
</span><span id="line-512"></span><span id="mkEntryLabel"><span class="annot"><span class="annottext">mkEntryLabel :: Name -&gt; CafInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkEntryLabel"><span class="hs-identifier hs-var hs-var">mkEntryLabel</span></a></span></span><span> </span><span id="local-6989586621680938323"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938323"><span class="hs-identifier hs-var">name</span></a></span></span><span>           </span><span id="local-6989586621680938322"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938322"><span class="hs-identifier hs-var">c</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938323"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938322"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Entry"><span class="hs-identifier hs-var">Entry</span></a></span><span>
</span><span id="line-513"></span><span id="mkClosureTableLabel"><span class="annot"><span class="annottext">mkClosureTableLabel :: Name -&gt; CafInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkClosureTableLabel"><span class="hs-identifier hs-var hs-var">mkClosureTableLabel</span></a></span></span><span> </span><span id="local-6989586621680938321"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938321"><span class="hs-identifier hs-var">name</span></a></span></span><span>    </span><span id="local-6989586621680938320"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938320"><span class="hs-identifier hs-var">c</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938321"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938320"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ClosureTable"><span class="hs-identifier hs-var">ClosureTable</span></a></span><span>
</span><span id="line-514"></span><span id="mkConInfoTableLabel"><span class="annot"><span class="annottext">mkConInfoTableLabel :: Name -&gt; CafInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkConInfoTableLabel"><span class="hs-identifier hs-var hs-var">mkConInfoTableLabel</span></a></span></span><span> </span><span id="local-6989586621680938319"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938319"><span class="hs-identifier hs-var">name</span></a></span></span><span>    </span><span id="local-6989586621680938318"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938318"><span class="hs-identifier hs-var">c</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938319"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938318"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConInfoTable"><span class="hs-identifier hs-var">ConInfoTable</span></a></span><span>
</span><span id="line-515"></span><span id="mkBytesLabel"><span class="annot"><span class="annottext">mkBytesLabel :: Name -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkBytesLabel"><span class="hs-identifier hs-var hs-var">mkBytesLabel</span></a></span></span><span> </span><span id="local-6989586621680938317"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938317"><span class="hs-identifier hs-var">name</span></a></span></span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938317"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="GHC.Types.Id.Info.html#NoCafRefs"><span class="hs-identifier hs-var">NoCafRefs</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Bytes"><span class="hs-identifier hs-var">Bytes</span></a></span><span>
</span><span id="line-516"></span><span>
</span><span id="line-517"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBlockInfoTableLabel"><span class="hs-identifier hs-type">mkBlockInfoTableLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Id.Info.html#CafInfo"><span class="hs-identifier hs-type">CafInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-518"></span><span id="mkBlockInfoTableLabel"><span class="annot"><span class="annottext">mkBlockInfoTableLabel :: Name -&gt; CafInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkBlockInfoTableLabel"><span class="hs-identifier hs-var hs-var">mkBlockInfoTableLabel</span></a></span></span><span> </span><span id="local-6989586621680938316"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938316"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span id="local-6989586621680938315"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938315"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938316"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938315"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#BlockInfoTable"><span class="hs-identifier hs-var">BlockInfoTable</span></a></span><span>
</span><span id="line-519"></span><span>                               </span><span class="hs-comment">-- See Note [Proc-point local block entry-point].</span><span>
</span><span id="line-520"></span><span>
</span><span id="line-521"></span><span class="hs-comment">-- Constructing Cmm Labels</span><span>
</span><span id="line-522"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkDirty_MUT_VAR_Label"><span class="hs-identifier hs-type">mkDirty_MUT_VAR_Label</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-523"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkNonmovingWriteBarrierEnabledLabel"><span class="hs-identifier hs-type">mkNonmovingWriteBarrierEnabledLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-524"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkUpdInfoLabel"><span class="hs-identifier hs-type">mkUpdInfoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-525"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBHUpdInfoLabel"><span class="hs-identifier hs-type">mkBHUpdInfoLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkIndStaticInfoLabel"><span class="hs-identifier hs-type">mkIndStaticInfoLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkMainCapabilityLabel"><span class="hs-identifier hs-type">mkMainCapabilityLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-526"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkMAP_FROZEN_CLEAN_infoLabel"><span class="hs-identifier hs-type">mkMAP_FROZEN_CLEAN_infoLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkMAP_FROZEN_DIRTY_infoLabel"><span class="hs-identifier hs-type">mkMAP_FROZEN_DIRTY_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-527"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkMAP_DIRTY_infoLabel"><span class="hs-identifier hs-type">mkMAP_DIRTY_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-528"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkArrWords_infoLabel"><span class="hs-identifier hs-type">mkArrWords_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-529"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkTopTickyCtrLabel"><span class="hs-identifier hs-type">mkTopTickyCtrLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-530"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCAFBlackHoleInfoTableLabel"><span class="hs-identifier hs-type">mkCAFBlackHoleInfoTableLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-531"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSMAP_FROZEN_CLEAN_infoLabel"><span class="hs-identifier hs-type">mkSMAP_FROZEN_CLEAN_infoLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSMAP_FROZEN_DIRTY_infoLabel"><span class="hs-identifier hs-type">mkSMAP_FROZEN_DIRTY_infoLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-532"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSMAP_DIRTY_infoLabel"><span class="hs-identifier hs-type">mkSMAP_DIRTY_infoLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBadAlignmentLabel"><span class="hs-identifier hs-type">mkBadAlignmentLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-533"></span><span id="mkDirty_MUT_VAR_Label"><span class="annot"><span class="annottext">mkDirty_MUT_VAR_Label :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkDirty_MUT_VAR_Label"><span class="hs-identifier hs-var hs-var">mkDirty_MUT_VAR_Label</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString
-&gt; Maybe Int -&gt; ForeignLabelSource -&gt; FunctionOrData -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkForeignLabel"><span class="hs-identifier hs-var">mkForeignLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;dirty_MUT_VAR&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Maybe Int
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="GHC.Cmm.CLabel.html#ForeignLabelInExternalPackage"><span class="hs-identifier hs-var">ForeignLabelInExternalPackage</span></a></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><a href="GHC.Types.Basic.html#IsFunction"><span class="hs-identifier hs-var">IsFunction</span></a></span><span>
</span><span id="line-534"></span><span id="mkNonmovingWriteBarrierEnabledLabel"><span class="annot"><span class="annottext">mkNonmovingWriteBarrierEnabledLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkNonmovingWriteBarrierEnabledLabel"><span class="hs-identifier hs-var hs-var">mkNonmovingWriteBarrierEnabledLabel</span></a></span></span><span>
</span><span id="line-535"></span><span>                                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nonmoving_write_barrier_enabled&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmData"><span class="hs-identifier hs-var">CmmData</span></a></span><span>
</span><span id="line-536"></span><span id="mkUpdInfoLabel"><span class="annot"><span class="annottext">mkUpdInfoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkUpdInfoLabel"><span class="hs-identifier hs-var hs-var">mkUpdInfoLabel</span></a></span></span><span>                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_upd_frame&quot;</span></span><span class="hs-special">)</span><span>         </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-537"></span><span id="mkBHUpdInfoLabel"><span class="annot"><span class="annottext">mkBHUpdInfoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkBHUpdInfoLabel"><span class="hs-identifier hs-var hs-var">mkBHUpdInfoLabel</span></a></span></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_bh_upd_frame&quot;</span></span><span> </span><span class="hs-special">)</span><span>     </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-538"></span><span id="mkIndStaticInfoLabel"><span class="annot"><span class="annottext">mkIndStaticInfoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkIndStaticInfoLabel"><span class="hs-identifier hs-var hs-var">mkIndStaticInfoLabel</span></a></span></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_IND_STATIC&quot;</span></span><span class="hs-special">)</span><span>        </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-539"></span><span id="mkMainCapabilityLabel"><span class="annot"><span class="annottext">mkMainCapabilityLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkMainCapabilityLabel"><span class="hs-identifier hs-var hs-var">mkMainCapabilityLabel</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;MainCapability&quot;</span></span><span class="hs-special">)</span><span>        </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmData"><span class="hs-identifier hs-var">CmmData</span></a></span><span>
</span><span id="line-540"></span><span id="mkMAP_FROZEN_CLEAN_infoLabel"><span class="annot"><span class="annottext">mkMAP_FROZEN_CLEAN_infoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkMAP_FROZEN_CLEAN_infoLabel"><span class="hs-identifier hs-var hs-var">mkMAP_FROZEN_CLEAN_infoLabel</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_MUT_ARR_PTRS_FROZEN_CLEAN&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-541"></span><span id="mkMAP_FROZEN_DIRTY_infoLabel"><span class="annot"><span class="annottext">mkMAP_FROZEN_DIRTY_infoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkMAP_FROZEN_DIRTY_infoLabel"><span class="hs-identifier hs-var hs-var">mkMAP_FROZEN_DIRTY_infoLabel</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_MUT_ARR_PTRS_FROZEN_DIRTY&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-542"></span><span id="mkMAP_DIRTY_infoLabel"><span class="annot"><span class="annottext">mkMAP_DIRTY_infoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkMAP_DIRTY_infoLabel"><span class="hs-identifier hs-var hs-var">mkMAP_DIRTY_infoLabel</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_MUT_ARR_PTRS_DIRTY&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-543"></span><span id="mkTopTickyCtrLabel"><span class="annot"><span class="annottext">mkTopTickyCtrLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkTopTickyCtrLabel"><span class="hs-identifier hs-var hs-var">mkTopTickyCtrLabel</span></a></span></span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;top_ct&quot;</span></span><span class="hs-special">)</span><span>                </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmData"><span class="hs-identifier hs-var">CmmData</span></a></span><span>
</span><span id="line-544"></span><span id="mkCAFBlackHoleInfoTableLabel"><span class="annot"><span class="annottext">mkCAFBlackHoleInfoTableLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCAFBlackHoleInfoTableLabel"><span class="hs-identifier hs-var hs-var">mkCAFBlackHoleInfoTableLabel</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_CAF_BLACKHOLE&quot;</span></span><span class="hs-special">)</span><span>     </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-545"></span><span id="mkArrWords_infoLabel"><span class="annot"><span class="annottext">mkArrWords_infoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkArrWords_infoLabel"><span class="hs-identifier hs-var hs-var">mkArrWords_infoLabel</span></a></span></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ARR_WORDS&quot;</span></span><span class="hs-special">)</span><span>         </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-546"></span><span id="mkSMAP_FROZEN_CLEAN_infoLabel"><span class="annot"><span class="annottext">mkSMAP_FROZEN_CLEAN_infoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkSMAP_FROZEN_CLEAN_infoLabel"><span class="hs-identifier hs-var hs-var">mkSMAP_FROZEN_CLEAN_infoLabel</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SMALL_MUT_ARR_PTRS_FROZEN_CLEAN&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-547"></span><span id="mkSMAP_FROZEN_DIRTY_infoLabel"><span class="annot"><span class="annottext">mkSMAP_FROZEN_DIRTY_infoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkSMAP_FROZEN_DIRTY_infoLabel"><span class="hs-identifier hs-var hs-var">mkSMAP_FROZEN_DIRTY_infoLabel</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SMALL_MUT_ARR_PTRS_FROZEN_DIRTY&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-548"></span><span id="mkSMAP_DIRTY_infoLabel"><span class="annot"><span class="annottext">mkSMAP_DIRTY_infoLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkSMAP_DIRTY_infoLabel"><span class="hs-identifier hs-var hs-var">mkSMAP_DIRTY_infoLabel</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SMALL_MUT_ARR_PTRS_DIRTY&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-549"></span><span id="mkBadAlignmentLabel"><span class="annot"><span class="annottext">mkBadAlignmentLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkBadAlignmentLabel"><span class="hs-identifier hs-var hs-var">mkBadAlignmentLabel</span></a></span></span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_badAlignment&quot;</span></span><span class="hs-special">)</span><span>      </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmEntry"><span class="hs-identifier hs-var">CmmEntry</span></a></span><span>
</span><span id="line-550"></span><span>
</span><span id="line-551"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSRTInfoLabel"><span class="hs-identifier hs-type">mkSRTInfoLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-552"></span><span id="mkSRTInfoLabel"><span class="annot"><span class="annottext">mkSRTInfoLabel :: Int -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkSRTInfoLabel"><span class="hs-identifier hs-var hs-var">mkSRTInfoLabel</span></a></span></span><span> </span><span id="local-6989586621680938311"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938311"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938310"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-553"></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-554"></span><span>   </span><span id="local-6989586621680938310"><span class="annot"><span class="annottext">lbl :: FastString
</span><a href="#local-6989586621680938310"><span class="hs-identifier hs-var hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-555"></span><span>     </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938311"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-556"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_1&quot;</span></span><span>
</span><span id="line-557"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">2</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_2&quot;</span></span><span>
</span><span id="line-558"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">3</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_3&quot;</span></span><span>
</span><span id="line-559"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_4&quot;</span></span><span>
</span><span id="line-560"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">5</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_5&quot;</span></span><span>
</span><span id="line-561"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_6&quot;</span></span><span>
</span><span id="line-562"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_7&quot;</span></span><span>
</span><span id="line-563"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_8&quot;</span></span><span>
</span><span id="line-564"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">9</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_9&quot;</span></span><span>
</span><span id="line-565"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">10</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_10&quot;</span></span><span>
</span><span id="line-566"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">11</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_11&quot;</span></span><span>
</span><span id="line-567"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">12</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_12&quot;</span></span><span>
</span><span id="line-568"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">13</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_13&quot;</span></span><span>
</span><span id="line-569"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">14</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_14&quot;</span></span><span>
</span><span id="line-570"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">15</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_15&quot;</span></span><span>
</span><span id="line-571"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">16</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_SRT_16&quot;</span></span><span>
</span><span id="line-572"></span><span>       </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; FastString
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;mkSRTInfoLabel&quot;</span></span><span>
</span><span id="line-573"></span><span>
</span><span id="line-574"></span><span class="hs-comment">-----</span><span>
</span><span id="line-575"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmInfoLabel"><span class="hs-identifier hs-type">mkCmmInfoLabel</span></a></span><span class="hs-special">,</span><span>   </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmEntryLabel"><span class="hs-identifier hs-type">mkCmmEntryLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmRetInfoLabel"><span class="hs-identifier hs-type">mkCmmRetInfoLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmRetLabel"><span class="hs-identifier hs-type">mkCmmRetLabel</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-576"></span><span>  </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmCodeLabel"><span class="hs-identifier hs-type">mkCmmCodeLabel</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmClosureLabel"><span class="hs-identifier hs-type">mkCmmClosureLabel</span></a></span><span>
</span><span id="line-577"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#UnitId"><span class="hs-identifier hs-type">UnitId</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-578"></span><span>
</span><span id="line-579"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCmmDataLabel"><span class="hs-identifier hs-type">mkCmmDataLabel</span></a></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#UnitId"><span class="hs-identifier hs-type">UnitId</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-type">NeedExternDecl</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-580"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRtsCmmDataLabel"><span class="hs-identifier hs-type">mkRtsCmmDataLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-581"></span><span>
</span><span id="line-582"></span><span id="mkCmmInfoLabel"><span class="annot"><span class="annottext">mkCmmInfoLabel :: UnitId -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCmmInfoLabel"><span class="hs-identifier hs-var hs-var">mkCmmInfoLabel</span></a></span></span><span>       </span><span id="local-6989586621680938276"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938276"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621680938275"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938275"><span class="hs-identifier hs-var">str</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938276"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938275"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-583"></span><span id="mkCmmEntryLabel"><span class="annot"><span class="annottext">mkCmmEntryLabel :: UnitId -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCmmEntryLabel"><span class="hs-identifier hs-var hs-var">mkCmmEntryLabel</span></a></span></span><span>      </span><span id="local-6989586621680938274"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938274"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621680938273"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938273"><span class="hs-identifier hs-var">str</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938274"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938273"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmEntry"><span class="hs-identifier hs-var">CmmEntry</span></a></span><span>
</span><span id="line-584"></span><span id="mkCmmRetInfoLabel"><span class="annot"><span class="annottext">mkCmmRetInfoLabel :: UnitId -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCmmRetInfoLabel"><span class="hs-identifier hs-var hs-var">mkCmmRetInfoLabel</span></a></span></span><span>    </span><span id="local-6989586621680938272"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938272"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621680938271"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938271"><span class="hs-identifier hs-var">str</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938272"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938271"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRetInfo"><span class="hs-identifier hs-var">CmmRetInfo</span></a></span><span>
</span><span id="line-585"></span><span id="mkCmmRetLabel"><span class="annot"><span class="annottext">mkCmmRetLabel :: UnitId -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCmmRetLabel"><span class="hs-identifier hs-var hs-var">mkCmmRetLabel</span></a></span></span><span>        </span><span id="local-6989586621680938270"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938270"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621680938269"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938269"><span class="hs-identifier hs-var">str</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938270"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938269"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRet"><span class="hs-identifier hs-var">CmmRet</span></a></span><span>
</span><span id="line-586"></span><span id="mkCmmCodeLabel"><span class="annot"><span class="annottext">mkCmmCodeLabel :: UnitId -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCmmCodeLabel"><span class="hs-identifier hs-var hs-var">mkCmmCodeLabel</span></a></span></span><span>       </span><span id="local-6989586621680938268"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938268"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621680938267"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938267"><span class="hs-identifier hs-var">str</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938268"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938267"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmCode"><span class="hs-identifier hs-var">CmmCode</span></a></span><span>
</span><span id="line-587"></span><span id="mkCmmClosureLabel"><span class="annot"><span class="annottext">mkCmmClosureLabel :: UnitId -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCmmClosureLabel"><span class="hs-identifier hs-var hs-var">mkCmmClosureLabel</span></a></span></span><span>    </span><span id="local-6989586621680938266"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938266"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621680938265"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938265"><span class="hs-identifier hs-var">str</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938266"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938265"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmClosure"><span class="hs-identifier hs-var">CmmClosure</span></a></span><span>
</span><span id="line-588"></span><span id="mkCmmDataLabel"><span class="annot"><span class="annottext">mkCmmDataLabel :: UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCmmDataLabel"><span class="hs-identifier hs-var hs-var">mkCmmDataLabel</span></a></span></span><span>       </span><span id="local-6989586621680938264"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938264"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span id="local-6989586621680938263"><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938263"><span class="hs-identifier hs-var">ext</span></a></span></span><span> </span><span id="local-6989586621680938262"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938262"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938264"><span class="hs-identifier hs-var">pkg</span></a></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938263"><span class="hs-identifier hs-var">ext</span></a></span><span>  </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938262"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmData"><span class="hs-identifier hs-var">CmmData</span></a></span><span>
</span><span id="line-589"></span><span id="mkRtsCmmDataLabel"><span class="annot"><span class="annottext">mkRtsCmmDataLabel :: FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkRtsCmmDataLabel"><span class="hs-identifier hs-var hs-var">mkRtsCmmDataLabel</span></a></span></span><span>    </span><span id="local-6989586621680938261"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938261"><span class="hs-identifier hs-var">str</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span class="hs-special">)</span><span>  </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938261"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmData"><span class="hs-identifier hs-var">CmmData</span></a></span><span>
</span><span id="line-590"></span><span>                                    </span><span class="hs-comment">-- RTS symbols don't need &quot;GHC.CmmToC&quot; to</span><span>
</span><span id="line-591"></span><span>                                    </span><span class="hs-comment">-- generate \&quot;extern\&quot; declaration (they are</span><span>
</span><span id="line-592"></span><span>                                    </span><span class="hs-comment">-- exposed via includes/Stg.h)</span><span>
</span><span id="line-593"></span><span>
</span><span id="line-594"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkLocalBlockLabel"><span class="hs-identifier hs-type">mkLocalBlockLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-595"></span><span id="mkLocalBlockLabel"><span class="annot"><span class="annottext">mkLocalBlockLabel :: Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkLocalBlockLabel"><span class="hs-identifier hs-var hs-var">mkLocalBlockLabel</span></a></span></span><span> </span><span id="local-6989586621680938260"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938260"><span class="hs-identifier hs-var">u</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-var">LocalBlockLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938260"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-596"></span><span>
</span><span id="line-597"></span><span class="hs-comment">-- Constructing RtsLabels</span><span>
</span><span id="line-598"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRtsPrimOpLabel"><span class="hs-identifier hs-type">mkRtsPrimOpLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Builtin.PrimOps.html#PrimOp"><span class="hs-identifier hs-type">PrimOp</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-599"></span><span id="mkRtsPrimOpLabel"><span class="annot"><span class="annottext">mkRtsPrimOpLabel :: PrimOp -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkRtsPrimOpLabel"><span class="hs-identifier hs-var hs-var">mkRtsPrimOpLabel</span></a></span></span><span> </span><span id="local-6989586621680938259"><span class="annot"><span class="annottext">PrimOp
</span><a href="#local-6989586621680938259"><span class="hs-identifier hs-var">primop</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-var">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PrimOp -&gt; RtsLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RtsPrimOp"><span class="hs-identifier hs-var">RtsPrimOp</span></a></span><span> </span><span class="annot"><span class="annottext">PrimOp
</span><a href="#local-6989586621680938259"><span class="hs-identifier hs-var">primop</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-600"></span><span>
</span><span id="line-601"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSelectorInfoLabel"><span class="hs-identifier hs-type">mkSelectorInfoLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Driver.Session.html#DynFlags"><span class="hs-identifier hs-type">DynFlags</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-602"></span><span id="mkSelectorInfoLabel"><span class="annot"><span class="annottext">mkSelectorInfoLabel :: DynFlags -&gt; Bool -&gt; Int -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkSelectorInfoLabel"><span class="hs-identifier hs-var hs-var">mkSelectorInfoLabel</span></a></span></span><span> </span><span id="local-6989586621680938258"><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938258"><span class="hs-identifier hs-var">dflags</span></a></span></span><span> </span><span id="local-6989586621680938257"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938257"><span class="hs-identifier hs-var">upd</span></a></span></span><span> </span><span id="local-6989586621680938256"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938256"><span class="hs-identifier hs-var">offset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-603"></span><span>   </span><span class="hs-identifier">ASSERT</span><span class="hs-special">(</span><span class="hs-identifier">offset</span><span> </span><span class="hs-operator">&gt;=</span><span> </span><span class="hs-number">0</span><span> </span><span class="hs-operator">&amp;&amp;</span><span> </span><span class="hs-identifier">offset</span><span> </span><span class="hs-operator">&lt;=</span><span> </span><span class="hs-identifier">mAX_SPEC_SELECTEE_SIZE</span><span> </span><span class="hs-identifier">dflags</span><span class="hs-special">)</span><span>
</span><span id="line-604"></span><span>   </span><span class="annot"><span class="annottext">RtsLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-var">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; Int -&gt; RtsLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RtsSelectorInfoTable"><span class="hs-identifier hs-var">RtsSelectorInfoTable</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938257"><span class="hs-identifier hs-var">upd</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938256"><span class="hs-identifier hs-var">offset</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-605"></span><span>
</span><span id="line-606"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkSelectorEntryLabel"><span class="hs-identifier hs-type">mkSelectorEntryLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Driver.Session.html#DynFlags"><span class="hs-identifier hs-type">DynFlags</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-607"></span><span id="mkSelectorEntryLabel"><span class="annot"><span class="annottext">mkSelectorEntryLabel :: DynFlags -&gt; Bool -&gt; Int -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkSelectorEntryLabel"><span class="hs-identifier hs-var hs-var">mkSelectorEntryLabel</span></a></span></span><span> </span><span id="local-6989586621680938249"><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938249"><span class="hs-identifier hs-var">dflags</span></a></span></span><span> </span><span id="local-6989586621680938248"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938248"><span class="hs-identifier hs-var">upd</span></a></span></span><span> </span><span id="local-6989586621680938247"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938247"><span class="hs-identifier hs-var">offset</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-608"></span><span>   </span><span class="hs-identifier">ASSERT</span><span class="hs-special">(</span><span class="hs-identifier">offset</span><span> </span><span class="hs-operator">&gt;=</span><span> </span><span class="hs-number">0</span><span> </span><span class="hs-operator">&amp;&amp;</span><span> </span><span class="hs-identifier">offset</span><span> </span><span class="hs-operator">&lt;=</span><span> </span><span class="hs-identifier">mAX_SPEC_SELECTEE_SIZE</span><span> </span><span class="hs-identifier">dflags</span><span class="hs-special">)</span><span>
</span><span id="line-609"></span><span>   </span><span class="annot"><span class="annottext">RtsLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-var">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; Int -&gt; RtsLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RtsSelectorEntry"><span class="hs-identifier hs-var">RtsSelectorEntry</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938248"><span class="hs-identifier hs-var">upd</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938247"><span class="hs-identifier hs-var">offset</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-610"></span><span>
</span><span id="line-611"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkApInfoTableLabel"><span class="hs-identifier hs-type">mkApInfoTableLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Driver.Session.html#DynFlags"><span class="hs-identifier hs-type">DynFlags</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-612"></span><span id="mkApInfoTableLabel"><span class="annot"><span class="annottext">mkApInfoTableLabel :: DynFlags -&gt; Bool -&gt; Int -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkApInfoTableLabel"><span class="hs-identifier hs-var hs-var">mkApInfoTableLabel</span></a></span></span><span> </span><span id="local-6989586621680938246"><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938246"><span class="hs-identifier hs-var">dflags</span></a></span></span><span> </span><span id="local-6989586621680938245"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938245"><span class="hs-identifier hs-var">upd</span></a></span></span><span> </span><span id="local-6989586621680938244"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938244"><span class="hs-identifier hs-var">arity</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-613"></span><span>   </span><span class="hs-identifier">ASSERT</span><span class="hs-special">(</span><span class="hs-identifier">arity</span><span> </span><span class="hs-operator">&gt;</span><span> </span><span class="hs-number">0</span><span> </span><span class="hs-operator">&amp;&amp;</span><span> </span><span class="hs-identifier">arity</span><span> </span><span class="hs-operator">&lt;=</span><span> </span><span class="hs-identifier">mAX_SPEC_AP_SIZE</span><span> </span><span class="hs-identifier">dflags</span><span class="hs-special">)</span><span>
</span><span id="line-614"></span><span>   </span><span class="annot"><span class="annottext">RtsLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-var">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; Int -&gt; RtsLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RtsApInfoTable"><span class="hs-identifier hs-var">RtsApInfoTable</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938245"><span class="hs-identifier hs-var">upd</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938244"><span class="hs-identifier hs-var">arity</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-615"></span><span>
</span><span id="line-616"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkApEntryLabel"><span class="hs-identifier hs-type">mkApEntryLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Driver.Session.html#DynFlags"><span class="hs-identifier hs-type">DynFlags</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-617"></span><span id="mkApEntryLabel"><span class="annot"><span class="annottext">mkApEntryLabel :: DynFlags -&gt; Bool -&gt; Int -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkApEntryLabel"><span class="hs-identifier hs-var hs-var">mkApEntryLabel</span></a></span></span><span> </span><span id="local-6989586621680938241"><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938241"><span class="hs-identifier hs-var">dflags</span></a></span></span><span> </span><span id="local-6989586621680938240"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938240"><span class="hs-identifier hs-var">upd</span></a></span></span><span> </span><span id="local-6989586621680938239"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938239"><span class="hs-identifier hs-var">arity</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-618"></span><span>   </span><span class="hs-identifier">ASSERT</span><span class="hs-special">(</span><span class="hs-identifier">arity</span><span> </span><span class="hs-operator">&gt;</span><span> </span><span class="hs-number">0</span><span> </span><span class="hs-operator">&amp;&amp;</span><span> </span><span class="hs-identifier">arity</span><span> </span><span class="hs-operator">&lt;=</span><span> </span><span class="hs-identifier">mAX_SPEC_AP_SIZE</span><span> </span><span class="hs-identifier">dflags</span><span class="hs-special">)</span><span>
</span><span id="line-619"></span><span>   </span><span class="annot"><span class="annottext">RtsLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-var">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; Int -&gt; RtsLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RtsApEntry"><span class="hs-identifier hs-var">RtsApEntry</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938240"><span class="hs-identifier hs-var">upd</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938239"><span class="hs-identifier hs-var">arity</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-620"></span><span>
</span><span id="line-621"></span><span>
</span><span id="line-622"></span><span class="hs-comment">-- A call to some primitive hand written Cmm code</span><span>
</span><span id="line-623"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkPrimCallLabel"><span class="hs-identifier hs-type">mkPrimCallLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Builtin.PrimOps.html#PrimCall"><span class="hs-identifier hs-type">PrimCall</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-624"></span><span id="mkPrimCallLabel"><span class="annot"><span class="annottext">mkPrimCallLabel :: PrimCall -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkPrimCallLabel"><span class="hs-identifier hs-var hs-var">mkPrimCallLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Builtin.PrimOps.html#PrimCall"><span class="hs-identifier hs-type">PrimCall</span></a></span><span> </span><span id="local-6989586621680938237"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938237"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span id="local-6989586621680938236"><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680938236"><span class="hs-identifier hs-var">pkg</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-625"></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Unit -&gt; UnitId
</span><a href="GHC.Unit.Types.html#toUnitId"><span class="hs-identifier hs-var">toUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680938236"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; NeedExternDecl
</span><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-var">NeedExternDecl</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938237"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmPrimCall"><span class="hs-identifier hs-var">CmmPrimCall</span></a></span><span>
</span><span id="line-626"></span><span>
</span><span id="line-627"></span><span>
</span><span id="line-628"></span><span class="hs-comment">-- Constructing ForeignLabels</span><span>
</span><span id="line-629"></span><span>
</span><span id="line-630"></span><span class="hs-comment">-- | Make a foreign label</span><span>
</span><span id="line-631"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkForeignLabel"><span class="hs-identifier hs-type">mkForeignLabel</span></a></span><span>
</span><span id="line-632"></span><span>        </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span>           </span><span class="hs-comment">-- name</span><span>
</span><span id="line-633"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>            </span><span class="hs-comment">-- size prefix</span><span>
</span><span id="line-634"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelSource"><span class="hs-identifier hs-type">ForeignLabelSource</span></a></span><span>   </span><span class="hs-comment">-- what package it's in</span><span>
</span><span id="line-635"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Basic.html#FunctionOrData"><span class="hs-identifier hs-type">FunctionOrData</span></a></span><span>
</span><span id="line-636"></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-637"></span><span>
</span><span id="line-638"></span><span id="mkForeignLabel"><span class="annot"><span class="annottext">mkForeignLabel :: FastString
-&gt; Maybe Int -&gt; ForeignLabelSource -&gt; FunctionOrData -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkForeignLabel"><span class="hs-identifier hs-var hs-var">mkForeignLabel</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString
-&gt; Maybe Int -&gt; ForeignLabelSource -&gt; FunctionOrData -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-var">ForeignLabel</span></a></span><span>
</span><span id="line-639"></span><span>
</span><span id="line-640"></span><span>
</span><span id="line-641"></span><span class="hs-comment">-- | Update the label size field in a ForeignLabel</span><span>
</span><span id="line-642"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#addLabelSize"><span class="hs-identifier hs-type">addLabelSize</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-643"></span><span id="addLabelSize"><span class="annot"><span class="annottext">addLabelSize :: CLabel -&gt; Int -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#addLabelSize"><span class="hs-identifier hs-var hs-var">addLabelSize</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span id="local-6989586621680938234"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938234"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938233"><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938233"><span class="hs-identifier hs-var">src</span></a></span></span><span>  </span><span id="local-6989586621680938232"><span class="annot"><span class="annottext">FunctionOrData
</span><a href="#local-6989586621680938232"><span class="hs-identifier hs-var">fod</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680938231"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938231"><span class="hs-identifier hs-var">sz</span></a></span></span><span>
</span><span id="line-644"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString
-&gt; Maybe Int -&gt; ForeignLabelSource -&gt; FunctionOrData -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-var">ForeignLabel</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938234"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; Maybe Int
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938231"><span class="hs-identifier hs-var">sz</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938233"><span class="hs-identifier hs-var">src</span></a></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><a href="#local-6989586621680938232"><span class="hs-identifier hs-var">fod</span></a></span><span>
</span><span id="line-645"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#addLabelSize"><span class="hs-identifier hs-var">addLabelSize</span></a></span><span> </span><span id="local-6989586621680938230"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938230"><span class="hs-keyword hs-var">label</span></a></span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-646"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938230"><span class="hs-keyword hs-var">label</span></a></span><span>
</span><span id="line-647"></span><span>
</span><span id="line-648"></span><span class="hs-comment">-- | Whether label is a top-level string literal</span><span>
</span><span id="line-649"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isBytesLabel"><span class="hs-identifier hs-type">isBytesLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-650"></span><span id="isBytesLabel"><span class="annot"><span class="annottext">isBytesLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isBytesLabel"><span class="hs-identifier hs-var hs-var">isBytesLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Bytes"><span class="hs-identifier hs-var">Bytes</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-651"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isBytesLabel"><span class="hs-identifier hs-var">isBytesLabel</span></a></span><span> </span><span id="local-6989586621680938229"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938229"><span class="hs-identifier hs-var">_lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-652"></span><span>
</span><span id="line-653"></span><span class="hs-comment">-- | Whether label is a non-haskell label (defined in C code)</span><span>
</span><span id="line-654"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isForeignLabel"><span class="hs-identifier hs-type">isForeignLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-655"></span><span id="isForeignLabel"><span class="annot"><span class="annottext">isForeignLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isForeignLabel"><span class="hs-identifier hs-var hs-var">isForeignLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-656"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isForeignLabel"><span class="hs-identifier hs-var">isForeignLabel</span></a></span><span> </span><span id="local-6989586621680938228"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938228"><span class="hs-identifier hs-var">_lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-657"></span><span>
</span><span id="line-658"></span><span class="hs-comment">-- | Whether label is a static closure label (can come from haskell or cmm)</span><span>
</span><span id="line-659"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isStaticClosureLabel"><span class="hs-identifier hs-type">isStaticClosureLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-660"></span><span class="hs-comment">-- Closure defined in haskell (.hs)</span><span>
</span><span id="line-661"></span><span id="isStaticClosureLabel"><span class="annot"><span class="annottext">isStaticClosureLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isStaticClosureLabel"><span class="hs-identifier hs-var hs-var">isStaticClosureLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Closure"><span class="hs-identifier hs-var">Closure</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-662"></span><span class="hs-comment">-- Closure defined in cmm</span><span>
</span><span id="line-663"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isStaticClosureLabel"><span class="hs-identifier hs-var">isStaticClosureLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmClosure"><span class="hs-identifier hs-var">CmmClosure</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-664"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isStaticClosureLabel"><span class="hs-identifier hs-var">isStaticClosureLabel</span></a></span><span> </span><span id="local-6989586621680938227"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938227"><span class="hs-identifier hs-var">_lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-665"></span><span>
</span><span id="line-666"></span><span class="hs-comment">-- | Whether label is a .rodata label</span><span>
</span><span id="line-667"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isSomeRODataLabel"><span class="hs-identifier hs-type">isSomeRODataLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-668"></span><span class="hs-comment">-- info table defined in haskell (.hs)</span><span>
</span><span id="line-669"></span><span id="isSomeRODataLabel"><span class="annot"><span class="annottext">isSomeRODataLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isSomeRODataLabel"><span class="hs-identifier hs-var hs-var">isSomeRODataLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ClosureTable"><span class="hs-identifier hs-var">ClosureTable</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-670"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isSomeRODataLabel"><span class="hs-identifier hs-var">isSomeRODataLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConInfoTable"><span class="hs-identifier hs-var">ConInfoTable</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-671"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isSomeRODataLabel"><span class="hs-identifier hs-var">isSomeRODataLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#InfoTable"><span class="hs-identifier hs-var">InfoTable</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-672"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isSomeRODataLabel"><span class="hs-identifier hs-var">isSomeRODataLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalInfoTable"><span class="hs-identifier hs-var">LocalInfoTable</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-673"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isSomeRODataLabel"><span class="hs-identifier hs-var">isSomeRODataLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#BlockInfoTable"><span class="hs-identifier hs-var">BlockInfoTable</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-674"></span><span class="hs-comment">-- info table defined in cmm (.cmm)</span><span>
</span><span id="line-675"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isSomeRODataLabel"><span class="hs-identifier hs-var">isSomeRODataLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-676"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isSomeRODataLabel"><span class="hs-identifier hs-var">isSomeRODataLabel</span></a></span><span> </span><span id="local-6989586621680938226"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938226"><span class="hs-identifier hs-var">_lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-677"></span><span>
</span><span id="line-678"></span><span class="hs-comment">-- | Whether label is points to some kind of info table</span><span>
</span><span id="line-679"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isInfoTableLabel"><span class="hs-identifier hs-type">isInfoTableLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-680"></span><span id="isInfoTableLabel"><span class="annot"><span class="annottext">isInfoTableLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isInfoTableLabel"><span class="hs-identifier hs-var hs-var">isInfoTableLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#InfoTable"><span class="hs-identifier hs-var">InfoTable</span></a></span><span class="hs-special">)</span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-681"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isInfoTableLabel"><span class="hs-identifier hs-var">isInfoTableLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalInfoTable"><span class="hs-identifier hs-var">LocalInfoTable</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-682"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isInfoTableLabel"><span class="hs-identifier hs-var">isInfoTableLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConInfoTable"><span class="hs-identifier hs-var">ConInfoTable</span></a></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-683"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isInfoTableLabel"><span class="hs-identifier hs-var">isInfoTableLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#BlockInfoTable"><span class="hs-identifier hs-var">BlockInfoTable</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-684"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isInfoTableLabel"><span class="hs-identifier hs-var">isInfoTableLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span>                            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-685"></span><span>
</span><span id="line-686"></span><span class="hs-comment">-- | Whether label is points to constructor info table</span><span>
</span><span id="line-687"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isConInfoTableLabel"><span class="hs-identifier hs-type">isConInfoTableLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-688"></span><span id="isConInfoTableLabel"><span class="annot"><span class="annottext">isConInfoTableLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isConInfoTableLabel"><span class="hs-identifier hs-var hs-var">isConInfoTableLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConInfoTable"><span class="hs-identifier hs-var">ConInfoTable</span></a></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-689"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isConInfoTableLabel"><span class="hs-identifier hs-var">isConInfoTableLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span>                            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-690"></span><span>
</span><span id="line-691"></span><span class="hs-comment">-- | Get the label size field from a ForeignLabel</span><span>
</span><span id="line-692"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#foreignLabelStdcallInfo"><span class="hs-identifier hs-type">foreignLabelStdcallInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><span class="hs-identifier hs-type">Int</span></span><span>
</span><span id="line-693"></span><span id="foreignLabelStdcallInfo"><span class="annot"><span class="annottext">foreignLabelStdcallInfo :: CLabel -&gt; Maybe Int
</span><a href="GHC.Cmm.CLabel.html#foreignLabelStdcallInfo"><span class="hs-identifier hs-var hs-var">foreignLabelStdcallInfo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938225"><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621680938225"><span class="hs-identifier hs-var">info</span></a></span></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><a href="#local-6989586621680938225"><span class="hs-identifier hs-var">info</span></a></span><span>
</span><span id="line-694"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#foreignLabelStdcallInfo"><span class="hs-identifier hs-var">foreignLabelStdcallInfo</span></a></span><span> </span><span id="local-6989586621680938224"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938224"><span class="hs-identifier hs-var">_lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe Int
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-695"></span><span>
</span><span id="line-696"></span><span>
</span><span id="line-697"></span><span class="hs-comment">-- Constructing Large*Labels</span><span>
</span><span id="line-698"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkBitmapLabel"><span class="hs-identifier hs-type">mkBitmapLabel</span></a></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-699"></span><span id="mkBitmapLabel"><span class="annot"><span class="annottext">mkBitmapLabel :: Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkBitmapLabel"><span class="hs-identifier hs-var hs-var">mkBitmapLabel</span></a></span></span><span>   </span><span id="local-6989586621680938223"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938223"><span class="hs-identifier hs-var">uniq</span></a></span></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#LargeBitmapLabel"><span class="hs-identifier hs-var">LargeBitmapLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938223"><span class="hs-identifier hs-var">uniq</span></a></span><span>
</span><span id="line-700"></span><span>
</span><span id="line-701"></span><span class="hs-comment">-- Constructing Cost Center Labels</span><span>
</span><span id="line-702"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCCLabel"><span class="hs-identifier hs-type">mkCCLabel</span></a></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.CostCentre.html#CostCentre"><span class="hs-identifier hs-type">CostCentre</span></a></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-703"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkCCSLabel"><span class="hs-identifier hs-type">mkCCSLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.CostCentre.html#CostCentreStack"><span class="hs-identifier hs-type">CostCentreStack</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-704"></span><span id="mkCCLabel"><span class="annot"><span class="annottext">mkCCLabel :: CostCentre -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCCLabel"><span class="hs-identifier hs-var hs-var">mkCCLabel</span></a></span></span><span>           </span><span id="local-6989586621680938222"><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938222"><span class="hs-identifier hs-var">cc</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CostCentre -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-var">CC_Label</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938222"><span class="hs-identifier hs-var">cc</span></a></span><span>
</span><span id="line-705"></span><span id="mkCCSLabel"><span class="annot"><span class="annottext">mkCCSLabel :: CostCentreStack -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkCCSLabel"><span class="hs-identifier hs-var hs-var">mkCCSLabel</span></a></span></span><span>          </span><span id="local-6989586621680938221"><span class="annot"><span class="annottext">CostCentreStack
</span><a href="#local-6989586621680938221"><span class="hs-identifier hs-var">ccs</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CostCentreStack -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-var">CCS_Label</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentreStack
</span><a href="#local-6989586621680938221"><span class="hs-identifier hs-var">ccs</span></a></span><span>
</span><span id="line-706"></span><span>
</span><span id="line-707"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRtsApFastLabel"><span class="hs-identifier hs-type">mkRtsApFastLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-708"></span><span id="mkRtsApFastLabel"><span class="annot"><span class="annottext">mkRtsApFastLabel :: FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkRtsApFastLabel"><span class="hs-identifier hs-var hs-var">mkRtsApFastLabel</span></a></span></span><span> </span><span id="local-6989586621680938220"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938220"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-var">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">FastString -&gt; RtsLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RtsApFast"><span class="hs-identifier hs-var">RtsApFast</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938220"><span class="hs-identifier hs-var">str</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-709"></span><span>
</span><span id="line-710"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkRtsSlowFastTickyCtrLabel"><span class="hs-identifier hs-type">mkRtsSlowFastTickyCtrLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-711"></span><span id="mkRtsSlowFastTickyCtrLabel"><span class="annot"><span class="annottext">mkRtsSlowFastTickyCtrLabel :: String -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkRtsSlowFastTickyCtrLabel"><span class="hs-identifier hs-var hs-var">mkRtsSlowFastTickyCtrLabel</span></a></span></span><span> </span><span id="local-6989586621680938219"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621680938219"><span class="hs-identifier hs-var">pat</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-var">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; RtsLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RtsSlowFastTickyCtr"><span class="hs-identifier hs-var">RtsSlowFastTickyCtr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621680938219"><span class="hs-identifier hs-var">pat</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-712"></span><span>
</span><span id="line-713"></span><span>
</span><span id="line-714"></span><span class="hs-comment">-- Constructing Code Coverage Labels</span><span>
</span><span id="line-715"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkHpcTicksLabel"><span class="hs-identifier hs-type">mkHpcTicksLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-716"></span><span id="mkHpcTicksLabel"><span class="annot"><span class="annottext">mkHpcTicksLabel :: Module -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkHpcTicksLabel"><span class="hs-identifier hs-var hs-var">mkHpcTicksLabel</span></a></span></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Module -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-var">HpcTicksLabel</span></a></span><span>
</span><span id="line-717"></span><span>
</span><span id="line-718"></span><span>
</span><span id="line-719"></span><span class="hs-comment">-- Constructing labels used for dynamic linking</span><span>
</span><span id="line-720"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkDynamicLinkerLabel"><span class="hs-identifier hs-type">mkDynamicLinkerLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabelInfo"><span class="hs-identifier hs-type">DynamicLinkerLabelInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-721"></span><span id="mkDynamicLinkerLabel"><span class="annot"><span class="annottext">mkDynamicLinkerLabel :: DynamicLinkerLabelInfo -&gt; CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkDynamicLinkerLabel"><span class="hs-identifier hs-var hs-var">mkDynamicLinkerLabel</span></a></span></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo -&gt; CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-var">DynamicLinkerLabel</span></a></span><span>
</span><span id="line-722"></span><span>
</span><span id="line-723"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#dynamicLinkerLabelInfo"><span class="hs-identifier hs-type">dynamicLinkerLabelInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabelInfo"><span class="hs-identifier hs-type">DynamicLinkerLabelInfo</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-724"></span><span id="dynamicLinkerLabelInfo"><span class="annot"><span class="annottext">dynamicLinkerLabelInfo :: CLabel -&gt; Maybe (DynamicLinkerLabelInfo, CLabel)
</span><a href="GHC.Cmm.CLabel.html#dynamicLinkerLabelInfo"><span class="hs-identifier hs-var hs-var">dynamicLinkerLabelInfo</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span> </span><span id="local-6989586621680938218"><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938218"><span class="hs-identifier hs-var">info</span></a></span></span><span> </span><span id="local-6989586621680938217"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938217"><span class="hs-identifier hs-var">lbl</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(DynamicLinkerLabelInfo, CLabel)
-&gt; Maybe (DynamicLinkerLabelInfo, CLabel)
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938218"><span class="hs-identifier hs-var">info</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938217"><span class="hs-identifier hs-var">lbl</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-725"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#dynamicLinkerLabelInfo"><span class="hs-identifier hs-var">dynamicLinkerLabelInfo</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe (DynamicLinkerLabelInfo, CLabel)
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-726"></span><span>
</span><span id="line-727"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkPicBaseLabel"><span class="hs-identifier hs-type">mkPicBaseLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-728"></span><span id="mkPicBaseLabel"><span class="annot"><span class="annottext">mkPicBaseLabel :: CLabel
</span><a href="GHC.Cmm.CLabel.html#mkPicBaseLabel"><span class="hs-identifier hs-var hs-var">mkPicBaseLabel</span></a></span></span><span>                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-var">PicBaseLabel</span></a></span><span>
</span><span id="line-729"></span><span>
</span><span id="line-730"></span><span>
</span><span id="line-731"></span><span class="hs-comment">-- Constructing miscellaneous other labels</span><span>
</span><span id="line-732"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkDeadStripPreventer"><span class="hs-identifier hs-type">mkDeadStripPreventer</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-733"></span><span id="mkDeadStripPreventer"><span class="annot"><span class="annottext">mkDeadStripPreventer :: CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkDeadStripPreventer"><span class="hs-identifier hs-var hs-var">mkDeadStripPreventer</span></a></span></span><span> </span><span id="local-6989586621680938216"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938216"><span class="hs-identifier hs-var">lbl</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-var">DeadStripPreventer</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938216"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-734"></span><span>
</span><span id="line-735"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkStringLitLabel"><span class="hs-identifier hs-type">mkStringLitLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Unique"><span class="hs-identifier hs-type">Unique</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-736"></span><span id="mkStringLitLabel"><span class="annot"><span class="annottext">mkStringLitLabel :: Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkStringLitLabel"><span class="hs-identifier hs-var hs-var">mkStringLitLabel</span></a></span></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-var">StringLitLabel</span></a></span><span>
</span><span id="line-737"></span><span>
</span><span id="line-738"></span><span id="local-6989586621680938981"><span class="annot"><a href="GHC.Cmm.CLabel.html#mkAsmTempLabel"><span class="hs-identifier hs-type">mkAsmTempLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680938981"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680938981"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span></span><span>
</span><span id="line-739"></span><span id="mkAsmTempLabel"><span class="annot"><span class="annottext">mkAsmTempLabel :: forall a. Uniquable a =&gt; a -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkAsmTempLabel"><span class="hs-identifier hs-var hs-var">mkAsmTempLabel</span></a></span></span><span> </span><span id="local-6989586621680938213"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680938213"><span class="hs-identifier hs-var">a</span></a></span></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-var">AsmTempLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; Unique
forall a. Uniquable a =&gt; a -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var">getUnique</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680938213"><span class="hs-identifier hs-var">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-740"></span><span>
</span><span id="line-741"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkAsmTempDerivedLabel"><span class="hs-identifier hs-type">mkAsmTempDerivedLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-742"></span><span id="mkAsmTempDerivedLabel"><span class="annot"><span class="annottext">mkAsmTempDerivedLabel :: CLabel -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkAsmTempDerivedLabel"><span class="hs-identifier hs-var hs-var">mkAsmTempDerivedLabel</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-var">AsmTempDerivedLabel</span></a></span><span>
</span><span id="line-743"></span><span>
</span><span id="line-744"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkAsmTempEndLabel"><span class="hs-identifier hs-type">mkAsmTempEndLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-745"></span><span id="mkAsmTempEndLabel"><span class="annot"><span class="annottext">mkAsmTempEndLabel :: CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkAsmTempEndLabel"><span class="hs-identifier hs-var hs-var">mkAsmTempEndLabel</span></a></span></span><span> </span><span id="local-6989586621680938211"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938211"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkAsmTempDerivedLabel"><span class="hs-identifier hs-var">mkAsmTempDerivedLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938211"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_end&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-746"></span><span>
</span><span id="line-747"></span><span class="hs-comment">-- | Construct a label for a DWARF Debug Information Entity (DIE)</span><span>
</span><span id="line-748"></span><span class="hs-comment">-- describing another symbol.</span><span>
</span><span id="line-749"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mkAsmTempDieLabel"><span class="hs-identifier hs-type">mkAsmTempDieLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-750"></span><span id="mkAsmTempDieLabel"><span class="annot"><span class="annottext">mkAsmTempDieLabel :: CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkAsmTempDieLabel"><span class="hs-identifier hs-var hs-var">mkAsmTempDieLabel</span></a></span></span><span> </span><span id="local-6989586621680938210"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938210"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; FastString -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkAsmTempDerivedLabel"><span class="hs-identifier hs-var">mkAsmTempDerivedLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938210"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_die&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-751"></span><span>
</span><span id="line-752"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-753"></span><span class="hs-comment">-- Convert between different kinds of label</span><span>
</span><span id="line-754"></span><span>
</span><span id="line-755"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toClosureLbl"><span class="hs-identifier hs-type">toClosureLbl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-756"></span><span id="toClosureLbl"><span class="annot"><span class="annottext">toClosureLbl :: CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#toClosureLbl"><span class="hs-identifier hs-var hs-var">toClosureLbl</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938209"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938209"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621680938208"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938208"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938209"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938208"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Closure"><span class="hs-identifier hs-var">Closure</span></a></span><span>
</span><span id="line-757"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toClosureLbl"><span class="hs-identifier hs-var">toClosureLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938207"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938207"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621680938206"><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938206"><span class="hs-identifier hs-var">ext</span></a></span></span><span> </span><span id="local-6989586621680938205"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938205"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938207"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938206"><span class="hs-identifier hs-var">ext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938205"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmClosure"><span class="hs-identifier hs-var">CmmClosure</span></a></span><span>
</span><span id="line-758"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toClosureLbl"><span class="hs-identifier hs-var">toClosureLbl</span></a></span><span> </span><span id="local-6989586621680938204"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938204"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; CLabel
forall a. HasCallStack =&gt; String -&gt; SDoc -&gt; a
</span><a href="GHC.Utils.Outputable.html#pprPanic"><span class="hs-identifier hs-var">pprPanic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;toClosureLbl&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938204"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-759"></span><span>
</span><span id="line-760"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toSlowEntryLbl"><span class="hs-identifier hs-type">toSlowEntryLbl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-761"></span><span id="toSlowEntryLbl"><span class="annot"><span class="annottext">toSlowEntryLbl :: CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#toSlowEntryLbl"><span class="hs-identifier hs-var hs-var">toSlowEntryLbl</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938202"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938202"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#BlockInfoTable"><span class="hs-identifier hs-var">BlockInfoTable</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-762"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; CLabel
forall a. HasCallStack =&gt; String -&gt; SDoc -&gt; a
</span><a href="GHC.Utils.Outputable.html#pprPanic"><span class="hs-identifier hs-var">pprPanic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;toSlowEntryLbl&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Name -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938202"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-763"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toSlowEntryLbl"><span class="hs-identifier hs-var">toSlowEntryLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938201"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938201"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621680938200"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938200"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938201"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938200"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Slow"><span class="hs-identifier hs-var">Slow</span></a></span><span>
</span><span id="line-764"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toSlowEntryLbl"><span class="hs-identifier hs-var">toSlowEntryLbl</span></a></span><span> </span><span id="local-6989586621680938199"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938199"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; CLabel
forall a. HasCallStack =&gt; String -&gt; SDoc -&gt; a
</span><a href="GHC.Utils.Outputable.html#pprPanic"><span class="hs-identifier hs-var">pprPanic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;toSlowEntryLbl&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938199"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-765"></span><span>
</span><span id="line-766"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toEntryLbl"><span class="hs-identifier hs-type">toEntryLbl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-767"></span><span id="toEntryLbl"><span class="annot"><span class="annottext">toEntryLbl :: CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#toEntryLbl"><span class="hs-identifier hs-var hs-var">toEntryLbl</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938198"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938198"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621680938197"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938197"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalInfoTable"><span class="hs-identifier hs-var">LocalInfoTable</span></a></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938198"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938197"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalEntry"><span class="hs-identifier hs-var">LocalEntry</span></a></span><span>
</span><span id="line-768"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toEntryLbl"><span class="hs-identifier hs-var">toEntryLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938196"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938196"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621680938195"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938195"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConInfoTable"><span class="hs-identifier hs-var">ConInfoTable</span></a></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938196"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938195"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConEntry"><span class="hs-identifier hs-var">ConEntry</span></a></span><span>
</span><span id="line-769"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toEntryLbl"><span class="hs-identifier hs-var">toEntryLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938194"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938194"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#BlockInfoTable"><span class="hs-identifier hs-var">BlockInfoTable</span></a></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#mkLocalBlockLabel"><span class="hs-identifier hs-var">mkLocalBlockLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Name -&gt; Unique
</span><a href="GHC.Types.Name.html#nameUnique"><span class="hs-identifier hs-var">nameUnique</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938194"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-770"></span><span>                              </span><span class="hs-comment">-- See Note [Proc-point local block entry-point].</span><span>
</span><span id="line-771"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toEntryLbl"><span class="hs-identifier hs-var">toEntryLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938192"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938192"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621680938191"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938191"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938192"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938191"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Entry"><span class="hs-identifier hs-var">Entry</span></a></span><span>
</span><span id="line-772"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toEntryLbl"><span class="hs-identifier hs-var">toEntryLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938190"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938190"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621680938189"><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938189"><span class="hs-identifier hs-var">ext</span></a></span></span><span> </span><span id="local-6989586621680938188"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938188"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938190"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938189"><span class="hs-identifier hs-var">ext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938188"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmEntry"><span class="hs-identifier hs-var">CmmEntry</span></a></span><span>
</span><span id="line-773"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toEntryLbl"><span class="hs-identifier hs-var">toEntryLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938187"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938187"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621680938186"><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938186"><span class="hs-identifier hs-var">ext</span></a></span></span><span> </span><span id="local-6989586621680938185"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938185"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRetInfo"><span class="hs-identifier hs-var">CmmRetInfo</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938187"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938186"><span class="hs-identifier hs-var">ext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938185"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRet"><span class="hs-identifier hs-var">CmmRet</span></a></span><span>
</span><span id="line-774"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toEntryLbl"><span class="hs-identifier hs-var">toEntryLbl</span></a></span><span> </span><span id="local-6989586621680938184"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938184"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; CLabel
forall a. HasCallStack =&gt; String -&gt; SDoc -&gt; a
</span><a href="GHC.Utils.Outputable.html#pprPanic"><span class="hs-identifier hs-var">pprPanic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;toEntryLbl&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938184"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-775"></span><span>
</span><span id="line-776"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toInfoLbl"><span class="hs-identifier hs-type">toInfoLbl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span>
</span><span id="line-777"></span><span id="toInfoLbl"><span class="annot"><span class="annottext">toInfoLbl :: CLabel -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#toInfoLbl"><span class="hs-identifier hs-var hs-var">toInfoLbl</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938183"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938183"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621680938182"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938182"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalEntry"><span class="hs-identifier hs-var">LocalEntry</span></a></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938183"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938182"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalInfoTable"><span class="hs-identifier hs-var">LocalInfoTable</span></a></span><span>
</span><span id="line-778"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toInfoLbl"><span class="hs-identifier hs-var">toInfoLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938181"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938181"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621680938180"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938180"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConEntry"><span class="hs-identifier hs-var">ConEntry</span></a></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938181"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938180"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConInfoTable"><span class="hs-identifier hs-var">ConInfoTable</span></a></span><span>
</span><span id="line-779"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toInfoLbl"><span class="hs-identifier hs-var">toInfoLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938179"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938179"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span id="local-6989586621680938178"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938178"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; CafInfo -&gt; IdLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-var">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938179"><span class="hs-identifier hs-var">n</span></a></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938178"><span class="hs-identifier hs-var">c</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#InfoTable"><span class="hs-identifier hs-var">InfoTable</span></a></span><span>
</span><span id="line-780"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toInfoLbl"><span class="hs-identifier hs-var">toInfoLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938177"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938177"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621680938176"><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938176"><span class="hs-identifier hs-var">ext</span></a></span></span><span> </span><span id="local-6989586621680938175"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938175"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmEntry"><span class="hs-identifier hs-var">CmmEntry</span></a></span><span class="hs-special">)</span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938177"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938176"><span class="hs-identifier hs-var">ext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938175"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span>
</span><span id="line-781"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toInfoLbl"><span class="hs-identifier hs-var">toInfoLbl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938174"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938174"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621680938173"><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938173"><span class="hs-identifier hs-var">ext</span></a></span></span><span> </span><span id="local-6989586621680938172"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938172"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRet"><span class="hs-identifier hs-var">CmmRet</span></a></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; NeedExternDecl -&gt; FastString -&gt; CmmLabelInfo -&gt; CLabel
</span><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-var">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938174"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><a href="#local-6989586621680938173"><span class="hs-identifier hs-var">ext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938172"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRetInfo"><span class="hs-identifier hs-var">CmmRetInfo</span></a></span><span>
</span><span id="line-782"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#toInfoLbl"><span class="hs-identifier hs-var">toInfoLbl</span></a></span><span> </span><span id="local-6989586621680938171"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938171"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; CLabel
forall a. HasCallStack =&gt; String -&gt; SDoc -&gt; a
</span><a href="GHC.Utils.Outputable.html#pprPanic"><span class="hs-identifier hs-var">pprPanic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;CLabel.toInfoLbl&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938171"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-783"></span><span>
</span><span id="line-784"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#hasHaskellName"><span class="hs-identifier hs-type">hasHaskellName</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span>
</span><span id="line-785"></span><span id="hasHaskellName"><span class="annot"><span class="annottext">hasHaskellName :: CLabel -&gt; Maybe Name
</span><a href="GHC.Cmm.CLabel.html#hasHaskellName"><span class="hs-identifier hs-var hs-var">hasHaskellName</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938170"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938170"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; Maybe Name
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938170"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-786"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#hasHaskellName"><span class="hs-identifier hs-var">hasHaskellName</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe Name
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-787"></span><span>
</span><span id="line-788"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-789"></span><span class="hs-comment">-- Does a CLabel's referent itself refer to a CAF?</span><span>
</span><span id="line-790"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#hasCAF"><span class="hs-identifier hs-type">hasCAF</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-791"></span><span id="hasCAF"><span class="annot"><span class="annottext">hasCAF :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#hasCAF"><span class="hs-identifier hs-var hs-var">hasCAF</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RednCounts"><span class="hs-identifier hs-var">RednCounts</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="hs-comment">-- Note [ticky for LNE]</span><span>
</span><span id="line-792"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#hasCAF"><span class="hs-identifier hs-var">hasCAF</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><a href="GHC.Types.Id.Info.html#MayHaveCafRefs"><span class="hs-identifier hs-var">MayHaveCafRefs</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-793"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#hasCAF"><span class="hs-identifier hs-var">hasCAF</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span>                            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-794"></span><span>
</span><span id="line-795"></span><span class="hs-comment">-- Note [ticky for LNE]</span><span>
</span><span id="line-796"></span><span class="hs-comment">-- ~~~~~~~~~~~~~~~~~~~~~</span><span>
</span><span id="line-797"></span><span>
</span><span id="line-798"></span><span class="hs-comment">-- Until 14 Feb 2013, every ticky counter was associated with a</span><span>
</span><span id="line-799"></span><span class="hs-comment">-- closure. Thus, ticky labels used IdLabel. It is odd that</span><span>
</span><span id="line-800"></span><span class="hs-comment">-- GHC.Cmm.Info.Build.cafTransfers would consider such a ticky label</span><span>
</span><span id="line-801"></span><span class="hs-comment">-- reason to add the name to the CAFEnv (and thus eventually the SRT),</span><span>
</span><span id="line-802"></span><span class="hs-comment">-- but it was harmless because the ticky was only used if the closure</span><span>
</span><span id="line-803"></span><span class="hs-comment">-- was also.</span><span>
</span><span id="line-804"></span><span class="hs-comment">--</span><span>
</span><span id="line-805"></span><span class="hs-comment">-- Since we now have ticky counters for LNEs, it is no longer the case</span><span>
</span><span id="line-806"></span><span class="hs-comment">-- that every ticky counter has an actual closure. So I changed the</span><span>
</span><span id="line-807"></span><span class="hs-comment">-- generation of ticky counters' CLabels to not result in their</span><span>
</span><span id="line-808"></span><span class="hs-comment">-- associated id ending up in the SRT.</span><span>
</span><span id="line-809"></span><span class="hs-comment">--</span><span>
</span><span id="line-810"></span><span class="hs-comment">-- NB IdLabel is still appropriate for ticky ids (as opposed to</span><span>
</span><span id="line-811"></span><span class="hs-comment">-- CmmLabel) because the LNE's counter is still related to an .hs Id,</span><span>
</span><span id="line-812"></span><span class="hs-comment">-- that Id just isn't for a proper closure.</span><span>
</span><span id="line-813"></span><span>
</span><span id="line-814"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-815"></span><span class="hs-comment">-- Does a CLabel need declaring before use or not?</span><span>
</span><span id="line-816"></span><span class="hs-comment">--</span><span>
</span><span id="line-817"></span><span class="hs-comment">-- See wiki:commentary/compiler/backends/ppr-c#prototypes</span><span>
</span><span id="line-818"></span><span>
</span><span id="line-819"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-type">needsCDecl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-820"></span><span>  </span><span class="hs-comment">-- False &lt;=&gt; it's pre-declared; don't bother</span><span>
</span><span id="line-821"></span><span>  </span><span class="hs-comment">-- don't bother declaring Bitmap labels, we always make sure</span><span>
</span><span id="line-822"></span><span>  </span><span class="hs-comment">-- they are defined before use.</span><span>
</span><span id="line-823"></span><span id="needsCDecl"><span class="annot"><span class="annottext">needsCDecl :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var hs-var">needsCDecl</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-type">SRTLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-824"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LargeBitmapLabel"><span class="hs-identifier hs-type">LargeBitmapLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-825"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-826"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-827"></span><span>
</span><span id="line-828"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-type">StringLitLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-829"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-830"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-type">AsmTempDerivedLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-831"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-832"></span><span>
</span><span id="line-833"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938168"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938168"><span class="hs-identifier hs-var">pkgId</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#NeedExternDecl"><span class="hs-identifier hs-type">NeedExternDecl</span></a></span><span> </span><span id="local-6989586621680938167"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938167"><span class="hs-identifier hs-var">external</span></a></span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>
</span><span id="line-834"></span><span>        </span><span class="hs-comment">-- local labels mustn't have it</span><span>
</span><span id="line-835"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938167"><span class="hs-identifier hs-var">external</span></a></span><span>                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-836"></span><span>
</span><span id="line-837"></span><span>        </span><span class="hs-comment">-- Prototypes for labels defined in the runtime system are imported</span><span>
</span><span id="line-838"></span><span>        </span><span class="hs-comment">--      into HC files via includes/Stg.h.</span><span>
</span><span id="line-839"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938168"><span class="hs-identifier hs-var">pkgId</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; UnitId -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="GHC.Unit.Types.html#rtsUnitId"><span class="hs-identifier hs-var">rtsUnitId</span></a></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-840"></span><span>
</span><span id="line-841"></span><span>        </span><span class="hs-comment">-- For other labels we inline one into the HC file directly.</span><span>
</span><span id="line-842"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-843"></span><span>
</span><span id="line-844"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span id="local-6989586621680938166"><span class="annot"><span class="annottext">l :: CLabel
</span><a href="#local-6989586621680938166"><span class="hs-identifier hs-var">l</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isMathFun"><span class="hs-identifier hs-var">isMathFun</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938166"><span class="hs-identifier hs-var">l</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-845"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-type">CC_Label</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentre
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-846"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-type">CCS_Label</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentreStack
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-847"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-type">HpcTicksLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-848"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;needsCDecl DynamicLinkerLabel&quot;</span></span><span>
</span><span id="line-849"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-var">PicBaseLabel</span></a></span><span>                 </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;needsCDecl PicBaseLabel&quot;</span></span><span>
</span><span id="line-850"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#needsCDecl"><span class="hs-identifier hs-var">needsCDecl</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-type">DeadStripPreventer</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;needsCDecl DeadStripPreventer&quot;</span></span><span>
</span><span id="line-851"></span><span>
</span><span id="line-852"></span><span class="hs-comment">-- | If a label is a local block label then return just its 'BlockId', otherwise</span><span>
</span><span id="line-853"></span><span class="hs-comment">-- 'Nothing'.</span><span>
</span><span id="line-854"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#maybeLocalBlockLabel"><span class="hs-identifier hs-type">maybeLocalBlockLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="GHC.Cmm.BlockId.html#BlockId"><span class="hs-identifier hs-type">BlockId</span></a></span><span>
</span><span id="line-855"></span><span id="maybeLocalBlockLabel"><span class="annot"><span class="annottext">maybeLocalBlockLabel :: CLabel -&gt; Maybe BlockId
</span><a href="GHC.Cmm.CLabel.html#maybeLocalBlockLabel"><span class="hs-identifier hs-var hs-var">maybeLocalBlockLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span id="local-6989586621680938165"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938165"><span class="hs-identifier hs-var">uq</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">BlockId -&gt; Maybe BlockId
forall a. a -&gt; Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">(BlockId -&gt; Maybe BlockId) -&gt; BlockId -&gt; Maybe BlockId
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; BlockId
</span><a href="GHC.Cmm.BlockId.html#mkBlockId"><span class="hs-identifier hs-var">mkBlockId</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938165"><span class="hs-identifier hs-var">uq</span></a></span><span>
</span><span id="line-856"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#maybeLocalBlockLabel"><span class="hs-identifier hs-var">maybeLocalBlockLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span>                     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Maybe BlockId
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-857"></span><span>
</span><span id="line-858"></span><span>
</span><span id="line-859"></span><span class="hs-comment">-- | Check whether a label corresponds to a C function that has</span><span>
</span><span id="line-860"></span><span class="hs-comment">--      a prototype in a system header somewhere, or is built-in</span><span>
</span><span id="line-861"></span><span class="hs-comment">--      to the C compiler. For these labels we avoid generating our</span><span>
</span><span id="line-862"></span><span class="hs-comment">--      own C prototypes.</span><span>
</span><span id="line-863"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isMathFun"><span class="hs-identifier hs-type">isMathFun</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-864"></span><span id="isMathFun"><span class="annot"><span class="annottext">isMathFun :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isMathFun"><span class="hs-identifier hs-var hs-var">isMathFun</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span id="local-6989586621680938164"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938164"><span class="hs-identifier hs-var">fs</span></a></span></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938164"><span class="hs-identifier hs-var">fs</span></a></span><span> </span><span class="annot"><span class="annottext">FastString -&gt; UniqSet FastString -&gt; Bool
forall a. Uniquable a =&gt; a -&gt; UniqSet a -&gt; Bool
</span><a href="GHC.Types.Unique.Set.html#elementOfUniqSet"><span class="hs-operator hs-var">`elementOfUniqSet`</span></a></span><span> </span><span class="annot"><span class="annottext">UniqSet FastString
</span><a href="GHC.Cmm.CLabel.html#math_funs"><span class="hs-identifier hs-var">math_funs</span></a></span><span>
</span><span id="line-865"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isMathFun"><span class="hs-identifier hs-var">isMathFun</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-866"></span><span>
</span><span id="line-867"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#math_funs"><span class="hs-identifier hs-type">math_funs</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Types.Unique.Set.html#UniqSet"><span class="hs-identifier hs-type">UniqSet</span></a></span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span>
</span><span id="line-868"></span><span id="math_funs"><span class="annot"><span class="annottext">math_funs :: UniqSet FastString
</span><a href="GHC.Cmm.CLabel.html#math_funs"><span class="hs-identifier hs-var hs-var">math_funs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[FastString] -&gt; UniqSet FastString
forall a. Uniquable a =&gt; [a] -&gt; UniqSet a
</span><a href="GHC.Types.Unique.Set.html#mkUniqSet"><span class="hs-identifier hs-var">mkUniqSet</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-869"></span><span>        </span><span class="hs-comment">-- _ISOC99_SOURCE</span><span>
</span><span id="line-870"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;acos&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;acosf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;acosh&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-871"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;acoshf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;acoshl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;acosl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-872"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;asin&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;asinf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;asinl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-873"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;asinh&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;asinhf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;asinhl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-874"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;atan&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;atanf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;atanl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-875"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;atan2&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;atan2f&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;atan2l&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-876"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;atanh&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;atanhf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;atanhl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-877"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cbrt&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cbrtf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cbrtl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-878"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ceil&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ceilf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ceill&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-879"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;copysign&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>     </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;copysignf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;copysignl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-880"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cos&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cosf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cosl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-881"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cosh&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;coshf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;coshl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-882"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;erf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;erff&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;erfl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-883"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;erfc&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;erfcf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;erfcl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-884"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;exp&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;expf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;expl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-885"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;exp2&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;exp2f&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;exp2l&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-886"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;expm1&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;expm1f&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;expm1l&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-887"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fabs&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fabsf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fabsl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-888"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fdim&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fdimf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fdiml&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-889"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;floor&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;floorf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;floorl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-890"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fma&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmaf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmal&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-891"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmax&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmaxf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmaxl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-892"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmin&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fminf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fminl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-893"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmod&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmodf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;fmodl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-894"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;frexp&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;frexpf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;frexpl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-895"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hypot&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hypotf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hypotl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-896"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ilogb&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ilogbf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ilogbl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-897"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ldexp&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ldexpf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ldexpl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-898"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lgamma&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lgammaf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lgammal&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-899"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;llrint&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;llrintf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;llrintl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-900"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;llround&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;llroundf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>     </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;llroundl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-901"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;logf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;logl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-902"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log10l&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log10&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log10f&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-903"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log1pl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log1p&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log1pf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-904"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log2&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log2f&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;log2l&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-905"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;logb&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;logbf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;logbl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-906"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lrint&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lrintf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lrintl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-907"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lround&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lroundf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lroundl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-908"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;modf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;modff&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;modfl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-909"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nan&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nanf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nanl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-910"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nearbyint&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nearbyintf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nearbyintl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-911"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nextafter&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nextafterf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nextafterl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-912"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nexttoward&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nexttowardf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>  </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nexttowardl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-913"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pow&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;powf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;powl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-914"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;remainder&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;remainderf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;remainderl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-915"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;remquo&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;remquof&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;remquol&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-916"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;rint&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;rintf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;rintl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-917"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;round&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;roundf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;roundl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-918"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;scalbln&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;scalblnf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>     </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;scalblnl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-919"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;scalbn&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;scalbnf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;scalbnl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-920"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sin&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sinf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sinl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-921"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sinh&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sinhf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sinhl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-922"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sqrt&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sqrtf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sqrtl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-923"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tan&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tanf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tanl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-924"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tanh&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tanhf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tanhl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-925"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tgamma&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tgammaf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;tgammal&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-926"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;trunc&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;truncf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;truncl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-927"></span><span>        </span><span class="hs-comment">-- ISO C 99 also defines these function-like macros in math.h:</span><span>
</span><span id="line-928"></span><span>        </span><span class="hs-comment">-- fpclassify, isfinite, isinf, isnormal, signbit, isgreater,</span><span>
</span><span id="line-929"></span><span>        </span><span class="hs-comment">-- isgreaterequal, isless, islessequal, islessgreater, isunordered</span><span>
</span><span id="line-930"></span><span>
</span><span id="line-931"></span><span>        </span><span class="hs-comment">-- additional symbols from _BSD_SOURCE</span><span>
</span><span id="line-932"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;drem&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;dremf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;dreml&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-933"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;finite&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;finitef&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;finitel&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-934"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;gamma&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;gammaf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;gammal&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-935"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isinf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isinff&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isinfl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-936"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isnan&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isnanf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isnanl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-937"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;j0&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;j0f&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;j0l&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-938"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;j1&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;j1f&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;j1l&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-939"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;jn&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;jnf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;jnl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-940"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lgamma_r&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>     </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lgammaf_r&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;lgammal_r&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-941"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;scalb&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;scalbf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;scalbl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-942"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;significand&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>  </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;significandf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;significandl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-943"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;y0&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;y0f&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;y0l&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-944"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;y1&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;y1f&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;y1l&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-945"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;yn&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ynf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ynl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-946"></span><span>
</span><span id="line-947"></span><span>        </span><span class="hs-comment">-- These functions are described in IEEE Std 754-2008 -</span><span>
</span><span id="line-948"></span><span>        </span><span class="hs-comment">-- Standard for Floating-Point Arithmetic and ISO/IEC TS 18661</span><span>
</span><span id="line-949"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nextup&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nextupf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nextupl&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-950"></span><span>        </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nextdown&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>     </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nextdownf&quot;</span></span><span class="hs-special">)</span><span class="hs-special">,</span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; FastString
</span><a href="GHC.Data.FastString.html#fsLit"><span class="hs-identifier hs-var">fsLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;nextdownl&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-951"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-952"></span><span>
</span><span id="line-953"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-954"></span><span class="hs-comment">-- | Is a CLabel visible outside this object file or not?</span><span>
</span><span id="line-955"></span><span class="hs-comment">--      From the point of view of the code generator, a name is</span><span>
</span><span id="line-956"></span><span class="hs-comment">--      externally visible if it has to be declared as exported</span><span>
</span><span id="line-957"></span><span class="hs-comment">--      in the .o file's symbol table; that is, made non-static.</span><span>
</span><span id="line-958"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-type">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-comment">-- not C &quot;static&quot;</span><span>
</span><span id="line-959"></span><span id="externallyVisibleCLabel"><span class="annot"><span class="annottext">externallyVisibleCLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var hs-var">externallyVisibleCLabel</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-type">StringLitLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-960"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-961"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-type">AsmTempDerivedLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-962"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-963"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-964"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-965"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-966"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938160"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938160"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938159"><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938159"><span class="hs-identifier hs-var">info</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Name -&gt; Bool
</span><a href="GHC.Types.Name.html#isExternalName"><span class="hs-identifier hs-var">isExternalName</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938160"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#externallyVisibleIdLabel"><span class="hs-identifier hs-var">externallyVisibleIdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938159"><span class="hs-identifier hs-var">info</span></a></span><span>
</span><span id="line-967"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-type">CC_Label</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentre
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-968"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-type">CCS_Label</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentreStack
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-969"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-970"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-type">HpcTicksLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-971"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LargeBitmapLabel"><span class="hs-identifier hs-type">LargeBitmapLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-972"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-type">SRTLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-973"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-type">PicBaseLabel</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;externallyVisibleCLabel PicBaseLabel&quot;</span></span><span>
</span><span id="line-974"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleCLabel"><span class="hs-identifier hs-var">externallyVisibleCLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-type">DeadStripPreventer</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Bool
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;externallyVisibleCLabel DeadStripPreventer&quot;</span></span><span>
</span><span id="line-975"></span><span>
</span><span id="line-976"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleIdLabel"><span class="hs-identifier hs-type">externallyVisibleIdLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabelInfo"><span class="hs-identifier hs-type">IdLabelInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-977"></span><span id="externallyVisibleIdLabel"><span class="annot"><span class="annottext">externallyVisibleIdLabel :: IdLabelInfo -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#externallyVisibleIdLabel"><span class="hs-identifier hs-var hs-var">externallyVisibleIdLabel</span></a></span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalInfoTable"><span class="hs-identifier hs-var">LocalInfoTable</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-978"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleIdLabel"><span class="hs-identifier hs-var">externallyVisibleIdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalEntry"><span class="hs-identifier hs-var">LocalEntry</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-979"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleIdLabel"><span class="hs-identifier hs-var">externallyVisibleIdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#BlockInfoTable"><span class="hs-identifier hs-var">BlockInfoTable</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-980"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#externallyVisibleIdLabel"><span class="hs-identifier hs-var">externallyVisibleIdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-981"></span><span>
</span><span id="line-982"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-983"></span><span class="hs-comment">-- Finding the &quot;type&quot; of a CLabel</span><span>
</span><span id="line-984"></span><span>
</span><span id="line-985"></span><span class="hs-comment">-- For generating correct types in label declarations:</span><span>
</span><span id="line-986"></span><span>
</span><span id="line-987"></span><span class="hs-keyword">data</span><span> </span><span id="CLabelType"><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabelType"><span class="hs-identifier hs-var">CLabelType</span></a></span></span><span>
</span><span id="line-988"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="CodeLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span></span><span>   </span><span class="hs-comment">-- Address of some executable instructions</span><span>
</span><span id="line-989"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="DataLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span></span><span>   </span><span class="hs-comment">-- Address of data, not a GC ptr</span><span>
</span><span id="line-990"></span><span>  </span><span class="hs-glyph">|</span><span> </span><span id="GcPtrLabel"><span class="annot"><a href="GHC.Cmm.CLabel.html#GcPtrLabel"><span class="hs-identifier hs-var">GcPtrLabel</span></a></span></span><span>  </span><span class="hs-comment">-- Address of a (presumably static) GC object</span><span>
</span><span id="line-991"></span><span>
</span><span id="line-992"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isCFunctionLabel"><span class="hs-identifier hs-type">isCFunctionLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-993"></span><span id="isCFunctionLabel"><span class="annot"><span class="annottext">isCFunctionLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isCFunctionLabel"><span class="hs-identifier hs-var hs-var">isCFunctionLabel</span></a></span></span><span> </span><span id="local-6989586621680938153"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938153"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; CLabelType
</span><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938153"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-994"></span><span>                        </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-995"></span><span>                        </span><span id="local-6989586621680938151"><span class="annot"><span class="annottext">CLabelType
</span><a href="#local-6989586621680938151"><span class="hs-identifier hs-var">_other</span></a></span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-996"></span><span>
</span><span id="line-997"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isGcPtrLabel"><span class="hs-identifier hs-type">isGcPtrLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-998"></span><span id="isGcPtrLabel"><span class="annot"><span class="annottext">isGcPtrLabel :: CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isGcPtrLabel"><span class="hs-identifier hs-var hs-var">isGcPtrLabel</span></a></span></span><span> </span><span id="local-6989586621680938150"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938150"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; CLabelType
</span><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938150"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-999"></span><span>                        </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#GcPtrLabel"><span class="hs-identifier hs-var">GcPtrLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-1000"></span><span>                        </span><span id="local-6989586621680938149"><span class="annot"><span class="annottext">CLabelType
</span><a href="#local-6989586621680938149"><span class="hs-identifier hs-var">_other</span></a></span></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-1001"></span><span>
</span><span id="line-1002"></span><span>
</span><span id="line-1003"></span><span class="hs-comment">-- | Work out the general type of data at the address of this label</span><span>
</span><span id="line-1004"></span><span class="hs-comment">--    whether it be code, data, or static GC object.</span><span>
</span><span id="line-1005"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-type">labelType</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabelType"><span class="hs-identifier hs-type">CLabelType</span></a></span><span>
</span><span id="line-1006"></span><span id="labelType"><span class="annot"><span class="annottext">labelType :: CLabel -&gt; CLabelType
</span><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var hs-var">labelType</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938148"><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938148"><span class="hs-identifier hs-var">info</span></a></span></span><span class="hs-special">)</span><span>                    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IdLabelInfo -&gt; CLabelType
</span><a href="GHC.Cmm.CLabel.html#idInfoLabelType"><span class="hs-identifier hs-var">idInfoLabelType</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938148"><span class="hs-identifier hs-var">info</span></a></span><span>
</span><span id="line-1007"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmData"><span class="hs-identifier hs-var">CmmData</span></a></span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1008"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmClosure"><span class="hs-identifier hs-var">CmmClosure</span></a></span><span class="hs-special">)</span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#GcPtrLabel"><span class="hs-identifier hs-var">GcPtrLabel</span></a></span><span>
</span><span id="line-1009"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmCode"><span class="hs-identifier hs-var">CmmCode</span></a></span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span><span>
</span><span id="line-1010"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1011"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmEntry"><span class="hs-identifier hs-var">CmmEntry</span></a></span><span class="hs-special">)</span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span><span>
</span><span id="line-1012"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmPrimCall"><span class="hs-identifier hs-var">CmmPrimCall</span></a></span><span class="hs-special">)</span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span><span>
</span><span id="line-1013"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRetInfo"><span class="hs-identifier hs-var">CmmRetInfo</span></a></span><span class="hs-special">)</span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1014"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRet"><span class="hs-identifier hs-var">CmmRet</span></a></span><span class="hs-special">)</span><span>               </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span><span>
</span><span id="line-1015"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsSelectorInfoTable"><span class="hs-identifier hs-type">RtsSelectorInfoTable</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1016"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsApInfoTable"><span class="hs-identifier hs-type">RtsApInfoTable</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1017"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsApFast"><span class="hs-identifier hs-type">RtsApFast</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span><span>
</span><span id="line-1018"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1019"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span><span>
</span><span id="line-1020"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-type">SRTLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1021"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><a href="GHC.Types.Basic.html#IsFunction"><span class="hs-identifier hs-var">IsFunction</span></a></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span><span>
</span><span id="line-1022"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><a href="GHC.Types.Basic.html#IsData"><span class="hs-identifier hs-var">IsData</span></a></span><span class="hs-special">)</span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1023"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; CLabelType
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;labelType(AsmTempLabel)&quot;</span></span><span>
</span><span id="line-1024"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-type">AsmTempDerivedLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; CLabelType
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;labelType(AsmTempDerivedLabel)&quot;</span></span><span>
</span><span id="line-1025"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-type">StringLitLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1026"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-type">CC_Label</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentre
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1027"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-type">CCS_Label</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentreStack
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1028"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>              </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span> </span><span class="hs-comment">-- Is this right?</span><span>
</span><span id="line-1029"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-var">PicBaseLabel</span></a></span><span>                          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1030"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-type">DeadStripPreventer</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1031"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-type">HpcTicksLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1032"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelType"><span class="hs-identifier hs-var">labelType</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LargeBitmapLabel"><span class="hs-identifier hs-type">LargeBitmapLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1033"></span><span>
</span><span id="line-1034"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#idInfoLabelType"><span class="hs-identifier hs-type">idInfoLabelType</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabelInfo"><span class="hs-identifier hs-type">IdLabelInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabelType"><span class="hs-identifier hs-type">CLabelType</span></a></span><span>
</span><span id="line-1035"></span><span id="idInfoLabelType"><span class="annot"><span class="annottext">idInfoLabelType :: IdLabelInfo -&gt; CLabelType
</span><a href="GHC.Cmm.CLabel.html#idInfoLabelType"><span class="hs-identifier hs-var hs-var">idInfoLabelType</span></a></span></span><span> </span><span id="local-6989586621680938145"><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938145"><span class="hs-identifier hs-var">info</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-1036"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938145"><span class="hs-identifier hs-var">info</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1037"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#InfoTable"><span class="hs-identifier hs-var">InfoTable</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1038"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalInfoTable"><span class="hs-identifier hs-var">LocalInfoTable</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1039"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#BlockInfoTable"><span class="hs-identifier hs-var">BlockInfoTable</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1040"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Closure"><span class="hs-identifier hs-var">Closure</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#GcPtrLabel"><span class="hs-identifier hs-var">GcPtrLabel</span></a></span><span>
</span><span id="line-1041"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConInfoTable"><span class="hs-identifier hs-var">ConInfoTable</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1042"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ClosureTable"><span class="hs-identifier hs-var">ClosureTable</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1043"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RednCounts"><span class="hs-identifier hs-var">RednCounts</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1044"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Bytes"><span class="hs-identifier hs-var">Bytes</span></a></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#DataLabel"><span class="hs-identifier hs-var">DataLabel</span></a></span><span>
</span><span id="line-1045"></span><span>    </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span>             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabelType
</span><a href="GHC.Cmm.CLabel.html#CodeLabel"><span class="hs-identifier hs-var">CodeLabel</span></a></span><span>
</span><span id="line-1046"></span><span>
</span><span id="line-1047"></span><span>
</span><span id="line-1048"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-1049"></span><span>
</span><span id="line-1050"></span><span class="hs-comment">-- | Is a 'CLabel' defined in the current module being compiled?</span><span>
</span><span id="line-1051"></span><span class="hs-comment">--</span><span>
</span><span id="line-1052"></span><span class="hs-comment">-- Sometimes we can optimise references within a compilation unit in ways that</span><span>
</span><span id="line-1053"></span><span class="hs-comment">-- we couldn't for inter-module references. This provides a conservative</span><span>
</span><span id="line-1054"></span><span class="hs-comment">-- estimate of whether a 'CLabel' lives in the current module.</span><span>
</span><span id="line-1055"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#isLocalCLabel"><span class="hs-identifier hs-type">isLocalCLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-1056"></span><span id="isLocalCLabel"><span class="annot"><span class="annottext">isLocalCLabel :: Module -&gt; CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isLocalCLabel"><span class="hs-identifier hs-var hs-var">isLocalCLabel</span></a></span></span><span> </span><span id="local-6989586621680938144"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938144"><span class="hs-identifier hs-var">this_mod</span></a></span></span><span> </span><span id="local-6989586621680938143"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938143"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-1057"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938143"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1058"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938142"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938142"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-1059"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Name -&gt; Bool
</span><a href="GHC.Types.Name.html#isInternalName"><span class="hs-identifier hs-var">isInternalName</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938142"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-1060"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>           </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">HasDebugCallStack =&gt; Name -&gt; Module
Name -&gt; Module
</span><a href="GHC.Types.Name.html#nameModule"><span class="hs-identifier hs-var">nameModule</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938142"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">Module -&gt; Module -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938144"><span class="hs-identifier hs-var">this_mod</span></a></span><span>
</span><span id="line-1061"></span><span>    </span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-1062"></span><span>    </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span>                       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-1063"></span><span>
</span><span id="line-1064"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-1065"></span><span>
</span><span id="line-1066"></span><span class="hs-comment">-- | Does a 'CLabel' need dynamic linkage?</span><span>
</span><span id="line-1067"></span><span class="hs-comment">--</span><span>
</span><span id="line-1068"></span><span class="hs-comment">-- When referring to data in code, we need to know whether</span><span>
</span><span id="line-1069"></span><span class="hs-comment">-- that data resides in a DLL or not. [Win32 only.]</span><span>
</span><span id="line-1070"></span><span class="hs-comment">-- @labelDynamic@ returns @True@ if the label is located</span><span>
</span><span id="line-1071"></span><span class="hs-comment">-- in a DLL, be it a data reference or not.</span><span>
</span><span id="line-1072"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#labelDynamic"><span class="hs-identifier hs-type">labelDynamic</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.CmmToAsm.Config.html#NCGConfig"><span class="hs-identifier hs-type">NCGConfig</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-1073"></span><span id="labelDynamic"><span class="annot"><span class="annottext">labelDynamic :: NCGConfig -&gt; Module -&gt; CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#labelDynamic"><span class="hs-identifier hs-var hs-var">labelDynamic</span></a></span></span><span> </span><span id="local-6989586621680938139"><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621680938139"><span class="hs-identifier hs-var">config</span></a></span></span><span> </span><span id="local-6989586621680938138"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938138"><span class="hs-identifier hs-var">this_mod</span></a></span></span><span> </span><span id="local-6989586621680938137"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938137"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-1074"></span><span>  </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938137"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1075"></span><span>   </span><span class="hs-comment">-- is the RTS in a DLL or not?</span><span>
</span><span id="line-1076"></span><span>   </span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="annot"><span class="annottext">RtsLabelInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1077"></span><span>     </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938136"><span class="hs-identifier hs-var">externalDynamicRefs</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680938135"><span class="hs-identifier hs-var">this_pkg</span></a></span><span> </span><span class="annot"><span class="annottext">Unit -&gt; Unit -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">/=</span></span><span> </span><span class="annot"><span class="annottext">Unit
</span><a href="GHC.Unit.Types.html#rtsUnit"><span class="hs-identifier hs-var">rtsUnit</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1078"></span><span>
</span><span id="line-1079"></span><span>   </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938132"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938132"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="annot"><span class="annottext">CafInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1080"></span><span>     </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938136"><span class="hs-identifier hs-var">externalDynamicRefs</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Module -&gt; Name -&gt; Bool
</span><a href="GHC.Types.Name.html#isDynLinkName"><span class="hs-identifier hs-var">isDynLinkName</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938130"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938138"><span class="hs-identifier hs-var">this_mod</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938132"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-1081"></span><span>
</span><span id="line-1082"></span><span>   </span><span class="hs-comment">-- When compiling in the &quot;dyn&quot; way, each package is to be linked into</span><span>
</span><span id="line-1083"></span><span>   </span><span class="hs-comment">-- its own shared library.</span><span>
</span><span id="line-1084"></span><span>   </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span id="local-6989586621680938129"><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938129"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><span class="hs-identifier">_</span></span><span>
</span><span id="line-1085"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="#local-6989586621680938128"><span class="hs-identifier hs-var">os</span></a></span><span> </span><span class="annot"><span class="annottext">OS -&gt; OS -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSMinGW32"><span class="hs-identifier hs-var">OSMinGW32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938136"><span class="hs-identifier hs-var">externalDynamicRefs</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Unit -&gt; UnitId
</span><a href="GHC.Unit.Types.html#toUnitId"><span class="hs-identifier hs-var">toUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680938135"><span class="hs-identifier hs-var">this_pkg</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; UnitId -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">/=</span></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680938129"><span class="hs-identifier hs-var">pkg</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1086"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938136"><span class="hs-identifier hs-var">externalDynamicRefs</span></a></span><span>
</span><span id="line-1087"></span><span>
</span><span id="line-1088"></span><span>   </span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-1089"></span><span>
</span><span id="line-1090"></span><span>   </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938126"><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938126"><span class="hs-identifier hs-var">source</span></a></span></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><span class="hs-identifier">_</span></span><span>  </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1091"></span><span>       </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="#local-6989586621680938128"><span class="hs-identifier hs-var">os</span></a></span><span> </span><span class="annot"><span class="annottext">OS -&gt; OS -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSMinGW32"><span class="hs-identifier hs-var">OSMinGW32</span></a></span><span>
</span><span id="line-1092"></span><span>       </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938126"><span class="hs-identifier hs-var">source</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1093"></span><span>            </span><span class="hs-comment">-- Foreign label is in some un-named foreign package (or DLL).</span><span>
</span><span id="line-1094"></span><span>            </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="GHC.Cmm.CLabel.html#ForeignLabelInExternalPackage"><span class="hs-identifier hs-var">ForeignLabelInExternalPackage</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-1095"></span><span>
</span><span id="line-1096"></span><span>            </span><span class="hs-comment">-- Foreign label is linked into the same package as the</span><span>
</span><span id="line-1097"></span><span>            </span><span class="hs-comment">-- source file currently being compiled.</span><span>
</span><span id="line-1098"></span><span>            </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="GHC.Cmm.CLabel.html#ForeignLabelInThisPackage"><span class="hs-identifier hs-var">ForeignLabelInThisPackage</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-1099"></span><span>
</span><span id="line-1100"></span><span>            </span><span class="hs-comment">-- Foreign label is in some named package.</span><span>
</span><span id="line-1101"></span><span>            </span><span class="hs-comment">-- When compiling in the &quot;dyn&quot; way, each package is to be</span><span>
</span><span id="line-1102"></span><span>            </span><span class="hs-comment">-- linked into its own DLL.</span><span>
</span><span id="line-1103"></span><span>            </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelInPackage"><span class="hs-identifier hs-type">ForeignLabelInPackage</span></a></span><span> </span><span id="local-6989586621680938125"><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680938125"><span class="hs-identifier hs-var">pkgId</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1104"></span><span>                </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938136"><span class="hs-identifier hs-var">externalDynamicRefs</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680938135"><span class="hs-identifier hs-var">this_pkg</span></a></span><span> </span><span class="annot"><span class="annottext">Unit -&gt; Unit -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">/=</span></span><span> </span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680938125"><span class="hs-identifier hs-var">pkgId</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1105"></span><span>
</span><span id="line-1106"></span><span>       </span><span class="hs-keyword">else</span><span> </span><span class="hs-comment">-- On Mac OS X and on ELF platforms, false positives are OK,</span><span>
</span><span id="line-1107"></span><span>            </span><span class="hs-comment">-- so we claim that all foreign imports come from dynamic</span><span>
</span><span id="line-1108"></span><span>            </span><span class="hs-comment">-- libraries</span><span>
</span><span id="line-1109"></span><span>            </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-1110"></span><span>
</span><span id="line-1111"></span><span>   </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-type">CC_Label</span></a></span><span> </span><span id="local-6989586621680938124"><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938124"><span class="hs-identifier hs-var">cc</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1112"></span><span>     </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938136"><span class="hs-identifier hs-var">externalDynamicRefs</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CostCentre -&gt; Module -&gt; Bool
</span><a href="GHC.Types.CostCentre.html#ccFromThisModule"><span class="hs-identifier hs-var">ccFromThisModule</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938124"><span class="hs-identifier hs-var">cc</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938138"><span class="hs-identifier hs-var">this_mod</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1113"></span><span>
</span><span id="line-1114"></span><span>   </span><span class="hs-comment">-- CCS_Label always contains a CostCentre defined in the current module</span><span>
</span><span id="line-1115"></span><span>   </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-type">CCS_Label</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentreStack
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-1116"></span><span>
</span><span id="line-1117"></span><span>   </span><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-type">HpcTicksLabel</span></a></span><span> </span><span id="local-6989586621680938122"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938122"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1118"></span><span>     </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938136"><span class="hs-identifier hs-var">externalDynamicRefs</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938138"><span class="hs-identifier hs-var">this_mod</span></a></span><span> </span><span class="annot"><span class="annottext">Module -&gt; Module -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">/=</span></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938122"><span class="hs-identifier hs-var">m</span></a></span><span>
</span><span id="line-1119"></span><span>
</span><span id="line-1120"></span><span>   </span><span class="hs-comment">-- Note that DynamicLinkerLabels do NOT require dynamic linking themselves.</span><span>
</span><span id="line-1121"></span><span>   </span><span class="annot"><span class="annottext">CLabel
</span><span class="hs-identifier">_</span></span><span>                 </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-1122"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-1123"></span><span>    </span><span id="local-6989586621680938136"><span class="annot"><span class="annottext">externalDynamicRefs :: Bool
</span><a href="#local-6989586621680938136"><span class="hs-identifier hs-var hs-var">externalDynamicRefs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NCGConfig -&gt; Bool
</span><a href="GHC.CmmToAsm.Config.html#ncgExternalDynamicRefs"><span class="hs-identifier hs-var hs-var">ncgExternalDynamicRefs</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621680938139"><span class="hs-identifier hs-var">config</span></a></span><span>
</span><span id="line-1124"></span><span>    </span><span id="local-6989586621680938130"><span class="annot"><span class="annottext">platform :: Platform
</span><a href="#local-6989586621680938130"><span class="hs-identifier hs-var hs-var">platform</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NCGConfig -&gt; Platform
</span><a href="GHC.CmmToAsm.Config.html#ncgPlatform"><span class="hs-identifier hs-var hs-var">ncgPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">NCGConfig
</span><a href="#local-6989586621680938139"><span class="hs-identifier hs-var">config</span></a></span><span>
</span><span id="line-1125"></span><span>    </span><span id="local-6989586621680938128"><span class="annot"><span class="annottext">os :: OS
</span><a href="#local-6989586621680938128"><span class="hs-identifier hs-var hs-var">os</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformOS"><span class="hs-identifier hs-var">platformOS</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938130"><span class="hs-identifier hs-var">platform</span></a></span><span>
</span><span id="line-1126"></span><span>    </span><span id="local-6989586621680938135"><span class="annot"><span class="annottext">this_pkg :: Unit
</span><a href="#local-6989586621680938135"><span class="hs-identifier hs-var hs-var">this_pkg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Module -&gt; Unit
forall unit. GenModule unit -&gt; unit
</span><a href="GHC.Unit.Types.html#moduleUnit"><span class="hs-identifier hs-var hs-var">moduleUnit</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938138"><span class="hs-identifier hs-var">this_mod</span></a></span><span>
</span><span id="line-1127"></span><span>
</span><span id="line-1128"></span><span>
</span><span id="line-1129"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-1130"></span><span class="hs-comment">-- Printing out CLabels.</span><span>
</span><span id="line-1131"></span><span>
</span><span id="line-1132"></span><span class="hs-comment">{-
Convention:

      &lt;name&gt;_&lt;type&gt;

where &lt;name&gt; is &lt;Module&gt;_&lt;name&gt; for external names and &lt;unique&gt; for
internal names. &lt;type&gt; is one of the following:

         info                   Info table
         srt                    Static reference table
         entry                  Entry code (function, closure)
         slow                   Slow entry code (if any)
         ret                    Direct return address
         vtbl                   Vector table
         &lt;n&gt;_alt                Case alternative (tag n)
         dflt                   Default case alternative
         btm                    Large bitmap vector
         closure                Static closure
         con_entry              Dynamic Constructor entry code
         con_info               Dynamic Constructor info table
         static_entry           Static Constructor entry code
         static_info            Static Constructor info table
         sel_info               Selector info table
         sel_entry              Selector entry code
         cc                     Cost centre
         ccs                    Cost centre stack

Many of these distinctions are only for documentation reasons.  For
example, _ret is only distinguished from _entry to make it easy to
tell whether a code fragment is a return point or a closure/function
entry.

Note [Closure and info labels]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For a function 'foo, we have:
   foo_info    : Points to the info table describing foo's closure
                 (and entry code for foo with tables next to code)
   foo_closure : Static (no-free-var) closure only:
                 points to the statically-allocated closure

For a data constructor (such as Just or Nothing), we have:
    Just_con_info: Info table for the data constructor itself
                   the first word of a heap-allocated Just
    Just_info:     Info table for the *worker function*, an
                   ordinary Haskell function of arity 1 that
                   allocates a (Just x) box:
                      Just = \x -&gt; Just x
    Just_closure:  The closure for this worker

    Nothing_closure: a statically allocated closure for Nothing
    Nothing_static_info: info table for Nothing_closure

All these must be exported symbol, EXCEPT Just_info.  We don't need to
export this because in other modules we either have
       * A reference to 'Just'; use Just_closure
       * A saturated call 'Just x'; allocate using Just_con_info
Not exporting these Just_info labels reduces the number of symbols
somewhat.

Note [Bytes label]
~~~~~~~~~~~~~~~~~~
For a top-level string literal 'foo', we have just one symbol 'foo_bytes', which
points to a static data block containing the content of the literal.

Note [Proc-point local block entry-points]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A label for a proc-point local block entry-point has no &quot;_entry&quot; suffix. With
`infoTblLbl` we derive an info table label from a proc-point block ID. If
we convert such an info table label into an entry label we must produce
the label without an &quot;_entry&quot; suffix. So an info table label records
the fact that it was derived from a block ID in `IdLabelInfo` as
`BlockInfoTable`.

The info table label and the local block label are both local labels
and are not externally visible.
-}</span><span>
</span><span id="line-1208"></span><span>
</span><span id="line-1209"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680938115"><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-1210"></span><span>  </span><span id="local-6989586621680938113"><span class="annot"><span class="annottext">ppr :: CLabel -&gt; SDoc
</span><a href="#local-6989586621680938113"><span class="hs-identifier hs-var hs-var hs-var hs-var">ppr</span></a></span></span><span> </span><span id="local-6989586621680938112"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938112"><span class="hs-identifier hs-var">c</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(DynFlags -&gt; SDoc) -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#sdocWithDynFlags"><span class="hs-identifier hs-var">sdocWithDynFlags</span></a></span><span> </span><span class="annot"><span class="annottext">((DynFlags -&gt; SDoc) -&gt; SDoc) -&gt; (DynFlags -&gt; SDoc) -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621680938110"><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938110"><span class="hs-identifier hs-var">dynFlags</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">DynFlags -&gt; CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprCLabel"><span class="hs-identifier hs-var">pprCLabel</span></a></span><span> </span><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938110"><span class="hs-identifier hs-var">dynFlags</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938112"><span class="hs-identifier hs-var">c</span></a></span><span>
</span><span id="line-1211"></span><span>
</span><span id="line-1212"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#pprCLabel"><span class="hs-identifier hs-type">pprCLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Driver.Session.html#DynFlags"><span class="hs-identifier hs-type">DynFlags</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1213"></span><span id="pprCLabel"><span class="annot"><span class="annottext">pprCLabel :: DynFlags -&gt; CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprCLabel"><span class="hs-identifier hs-var hs-var">pprCLabel</span></a></span></span><span> </span><span id="local-6989586621680938109"><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938109"><span class="hs-identifier hs-var">dflags</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-glyph">\</span><span class="hs-glyph">case</span><span>
</span><span id="line-1214"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span id="local-6989586621680938108"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938108"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#tempLabelPrefixOrUnderscore"><span class="hs-identifier hs-var">tempLabelPrefixOrUnderscore</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938108"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-1215"></span><span>
</span><span id="line-1216"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span> </span><span id="local-6989586621680938104"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938104"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-1217"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; Bool
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformUnregisterised"><span class="hs-identifier hs-var hs-var">platformUnregisterised</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1218"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#tempLabelPrefixOrUnderscore"><span class="hs-identifier hs-var">tempLabelPrefixOrUnderscore</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938104"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-1219"></span><span>
</span><span id="line-1220"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-type">AsmTempDerivedLabel</span></a></span><span> </span><span id="local-6989586621680938102"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938102"><span class="hs-identifier hs-var">l</span></a></span></span><span> </span><span id="local-6989586621680938101"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938101"><span class="hs-identifier hs-var">suf</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-1221"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938100"><span class="hs-identifier hs-var">useNCG</span></a></span><span>
</span><span id="line-1222"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; PtrString
</span><a href="GHC.Cmm.CLabel.html#asmTempLabelPrefix"><span class="hs-identifier hs-var">asmTempLabelPrefix</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1223"></span><span>         </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938102"><span class="hs-identifier hs-var">l</span></a></span><span> </span><span class="hs-keyword">of</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span> </span><span id="local-6989586621680938097"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938097"><span class="hs-identifier hs-var">u</span></a></span></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938097"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-1224"></span><span>                      </span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span id="local-6989586621680938096"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938096"><span class="hs-identifier hs-var">u</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938096"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-1225"></span><span>                      </span><span id="local-6989586621680938095"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938095"><span class="hs-identifier hs-var">_other</span></a></span></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">DynFlags -&gt; CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprCLabel"><span class="hs-identifier hs-var">pprCLabel</span></a></span><span> </span><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938109"><span class="hs-identifier hs-var">dflags</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938102"><span class="hs-identifier hs-var">l</span></a></span><span>
</span><span id="line-1226"></span><span>         </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938101"><span class="hs-identifier hs-var">suf</span></a></span><span>
</span><span id="line-1227"></span><span>
</span><span id="line-1228"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span> </span><span id="local-6989586621680938093"><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938093"><span class="hs-identifier hs-var">info</span></a></span></span><span> </span><span id="local-6989586621680938092"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938092"><span class="hs-identifier hs-var">lbl</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-1229"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938100"><span class="hs-identifier hs-var">useNCG</span></a></span><span>
</span><span id="line-1230"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; DynamicLinkerLabelInfo -&gt; CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprDynamicLinkerAsmLabel"><span class="hs-identifier hs-var">pprDynamicLinkerAsmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938093"><span class="hs-identifier hs-var">info</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938092"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1231"></span><span>
</span><span id="line-1232"></span><span>   </span><span class="annot"><span class="annottext">CLabel
</span><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-var">PicBaseLabel</span></a></span><span>
</span><span id="line-1233"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938100"><span class="hs-identifier hs-var">useNCG</span></a></span><span>
</span><span id="line-1234"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;1b&quot;</span></span><span>
</span><span id="line-1235"></span><span>
</span><span id="line-1236"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-type">DeadStripPreventer</span></a></span><span> </span><span id="local-6989586621680938090"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938090"><span class="hs-identifier hs-var">lbl</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-1237"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938100"><span class="hs-identifier hs-var">useNCG</span></a></span><span>
</span><span id="line-1238"></span><span>      </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1239"></span><span>      </span><span class="hs-comment">{-
         `lbl` can be temp one but we need to ensure that dsp label will stay
         in the final binary so we prepend non-temp prefix (&quot;dsp_&quot;) and
         optional `_` (underscore) because this is how you mark non-temp symbols
         on some platforms (Darwin)
      -}</span><span>
</span><span id="line-1245"></span><span>      </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="#local-6989586621680938089"><span class="hs-identifier hs-var">maybe_underscore</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;dsp_&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">DynFlags -&gt; CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprCLabel"><span class="hs-identifier hs-var">pprCLabel</span></a></span><span> </span><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938109"><span class="hs-identifier hs-var">dflags</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938090"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_dsp&quot;</span></span><span>
</span><span id="line-1246"></span><span>
</span><span id="line-1247"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-type">StringLitLabel</span></a></span><span> </span><span id="local-6989586621680938088"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938088"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-1248"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938100"><span class="hs-identifier hs-var">useNCG</span></a></span><span>
</span><span id="line-1249"></span><span>      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938088"><span class="hs-identifier hs-var">u</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_str&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-1250"></span><span>
</span><span id="line-1251"></span><span>   </span><span id="local-6989586621680938086"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938086"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(PprStyle -&gt; SDoc) -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#getPprStyle"><span class="hs-identifier hs-var">getPprStyle</span></a></span><span> </span><span class="annot"><span class="annottext">((PprStyle -&gt; SDoc) -&gt; SDoc) -&gt; (PprStyle -&gt; SDoc) -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span id="local-6989586621680938084"><span class="annot"><span class="annottext">PprStyle
</span><a href="#local-6989586621680938084"><span class="hs-identifier hs-var">sty</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1252"></span><span>            </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938100"><span class="hs-identifier hs-var">useNCG</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">PprStyle -&gt; Bool
</span><a href="GHC.Utils.Outputable.html#asmStyle"><span class="hs-identifier hs-var">asmStyle</span></a></span><span> </span><span class="annot"><span class="annottext">PprStyle
</span><a href="#local-6989586621680938084"><span class="hs-identifier hs-var">sty</span></a></span><span>
</span><span id="line-1253"></span><span>            </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="#local-6989586621680938089"><span class="hs-identifier hs-var">maybe_underscore</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
</span><a href="#local-6989586621680938082"><span class="hs-identifier hs-var">pprAsmCLbl</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938086"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1254"></span><span>            </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprCLbl"><span class="hs-identifier hs-var">pprCLbl</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938086"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1255"></span><span>
</span><span id="line-1256"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-1257"></span><span>    </span><span id="local-6989586621680938106"><span class="annot"><span class="annottext">platform :: Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var hs-var">platform</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">DynFlags -&gt; Platform
</span><a href="GHC.Driver.Session.html#targetPlatform"><span class="hs-identifier hs-var hs-var">targetPlatform</span></a></span><span> </span><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938109"><span class="hs-identifier hs-var">dflags</span></a></span><span>
</span><span id="line-1258"></span><span>    </span><span id="local-6989586621680938100"><span class="annot"><span class="annottext">useNCG :: Bool
</span><a href="#local-6989586621680938100"><span class="hs-identifier hs-var hs-var">useNCG</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">DynFlags -&gt; HscTarget
</span><a href="GHC.Driver.Session.html#hscTarget"><span class="hs-identifier hs-var hs-var">hscTarget</span></a></span><span> </span><span class="annot"><span class="annottext">DynFlags
</span><a href="#local-6989586621680938109"><span class="hs-identifier hs-var">dflags</span></a></span><span> </span><span class="annot"><span class="annottext">HscTarget -&gt; HscTarget -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">HscTarget
</span><a href="GHC.Driver.Session.html#HscAsm"><span class="hs-identifier hs-var">HscAsm</span></a></span><span>
</span><span id="line-1259"></span><span>
</span><span id="line-1260"></span><span>    </span><span class="annot"><a href="#local-6989586621680938089"><span class="hs-identifier hs-type">maybe_underscore</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1261"></span><span>    </span><span id="local-6989586621680938089"><span class="annot"><span class="annottext">maybe_underscore :: SDoc -&gt; SDoc
</span><a href="#local-6989586621680938089"><span class="hs-identifier hs-var hs-var">maybe_underscore</span></a></span></span><span> </span><span id="local-6989586621680938075"><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621680938075"><span class="hs-identifier hs-var">doc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-1262"></span><span>      </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Bool
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformLeadingUnderscore"><span class="hs-identifier hs-var hs-var">platformLeadingUnderscore</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var">platform</span></a></span><span>
</span><span id="line-1263"></span><span>      </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Cmm.CLabel.html#pp_cSEP"><span class="hs-identifier hs-var">pp_cSEP</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621680938075"><span class="hs-identifier hs-var">doc</span></a></span><span>
</span><span id="line-1264"></span><span>      </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621680938075"><span class="hs-identifier hs-var">doc</span></a></span><span>
</span><span id="line-1265"></span><span>
</span><span id="line-1266"></span><span>    </span><span id="local-6989586621680938082"><span class="annot"><span class="annottext">pprAsmCLbl :: CLabel -&gt; SDoc
</span><a href="#local-6989586621680938082"><span class="hs-identifier hs-var hs-var">pprAsmCLbl</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span id="local-6989586621680938071"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938071"><span class="hs-identifier hs-var">fs</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621680938070"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938070"><span class="hs-identifier hs-var">sz</span></a></span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span>
</span><span id="line-1267"></span><span>     </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformOS"><span class="hs-identifier hs-var">platformOS</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">OS -&gt; OS -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSMinGW32"><span class="hs-identifier hs-var">OSMinGW32</span></a></span><span>
</span><span id="line-1268"></span><span>        </span><span class="hs-comment">-- In asm mode, we need to put the suffix on a stdcall ForeignLabel.</span><span>
</span><span id="line-1269"></span><span>        </span><span class="hs-comment">-- (The C compiler does this itself).</span><span>
</span><span id="line-1270"></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938071"><span class="hs-identifier hs-var">fs</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'@'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#int"><span class="hs-identifier hs-var">int</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938070"><span class="hs-identifier hs-var">sz</span></a></span><span>
</span><span id="line-1271"></span><span>    </span><span class="annot"><a href="#local-6989586621680938082"><span class="hs-identifier hs-var">pprAsmCLbl</span></a></span><span> </span><span id="local-6989586621680938067"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938067"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprCLbl"><span class="hs-identifier hs-var">pprCLbl</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938106"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938067"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1272"></span><span>
</span><span id="line-1273"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#pprCLbl"><span class="hs-identifier hs-type">pprCLbl</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1274"></span><span id="pprCLbl"><span class="annot"><span class="annottext">pprCLbl :: Platform -&gt; CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprCLbl"><span class="hs-identifier hs-var hs-var">pprCLbl</span></a></span></span><span> </span><span id="local-6989586621680938066"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938066"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-glyph">\</span><span class="hs-glyph">case</span><span>
</span><span id="line-1275"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#StringLitLabel"><span class="hs-identifier hs-type">StringLitLabel</span></a></span><span> </span><span id="local-6989586621680938065"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938065"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938065"><span class="hs-identifier hs-var">u</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_str&quot;</span></span><span>
</span><span id="line-1276"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#SRTLabel"><span class="hs-identifier hs-type">SRTLabel</span></a></span><span> </span><span id="local-6989586621680938064"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938064"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#tempLabelPrefixOrUnderscore"><span class="hs-identifier hs-var">tempLabelPrefixOrUnderscore</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938066"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938064"><span class="hs-identifier hs-var">u</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Cmm.CLabel.html#pp_cSEP"><span class="hs-identifier hs-var">pp_cSEP</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;srt&quot;</span></span><span>
</span><span id="line-1277"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LargeBitmapLabel"><span class="hs-identifier hs-type">LargeBitmapLabel</span></a></span><span> </span><span id="local-6989586621680938063"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938063"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#tempLabelPrefixOrUnderscore"><span class="hs-identifier hs-var">tempLabelPrefixOrUnderscore</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938066"><span class="hs-identifier hs-var">platform</span></a></span><span>
</span><span id="line-1278"></span><span>                           </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'b'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938063"><span class="hs-identifier hs-var">u</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Cmm.CLabel.html#pp_cSEP"><span class="hs-identifier hs-var">pp_cSEP</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;btm&quot;</span></span><span>
</span><span id="line-1279"></span><span>                           </span><span class="hs-comment">-- Some bitmaps for tuple constructors have a numeric tag (e.g. '7')</span><span>
</span><span id="line-1280"></span><span>                           </span><span class="hs-comment">-- until that gets resolved we'll just force them to start</span><span>
</span><span id="line-1281"></span><span>                           </span><span class="hs-comment">-- with a letter so the label will be legal assembly code.</span><span>
</span><span id="line-1282"></span><span>
</span><span id="line-1283"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938062"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938062"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmCode"><span class="hs-identifier hs-var">CmmCode</span></a></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938062"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-1284"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938061"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938061"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmData"><span class="hs-identifier hs-var">CmmData</span></a></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938061"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-1285"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938060"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938060"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmPrimCall"><span class="hs-identifier hs-var">CmmPrimCall</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938060"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-1286"></span><span>
</span><span id="line-1287"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#LocalBlockLabel"><span class="hs-identifier hs-type">LocalBlockLabel</span></a></span><span> </span><span id="local-6989586621680938059"><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938059"><span class="hs-identifier hs-var">u</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#tempLabelPrefixOrUnderscore"><span class="hs-identifier hs-var">tempLabelPrefixOrUnderscore</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938066"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;blk_&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; SDoc
</span><a href="GHC.Types.Unique.html#pprUniqueAlways"><span class="hs-identifier hs-var">pprUniqueAlways</span></a></span><span> </span><span class="annot"><span class="annottext">Unique
</span><a href="#local-6989586621680938059"><span class="hs-identifier hs-var">u</span></a></span><span>
</span><span id="line-1288"></span><span>
</span><span id="line-1289"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsApFast"><span class="hs-identifier hs-type">RtsApFast</span></a></span><span> </span><span id="local-6989586621680938058"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938058"><span class="hs-identifier hs-var">str</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938058"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_fast&quot;</span></span><span>
</span><span id="line-1290"></span><span>
</span><span id="line-1291"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsSelectorInfoTable"><span class="hs-identifier hs-type">RtsSelectorInfoTable</span></a></span><span> </span><span id="local-6989586621680938057"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938057"><span class="hs-identifier hs-var">upd_reqd</span></a></span></span><span> </span><span id="local-6989586621680938056"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938056"><span class="hs-identifier hs-var">offset</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1292"></span><span>    </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_sel_&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938056"><span class="hs-identifier hs-var">offset</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-1293"></span><span>          </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938057"><span class="hs-identifier hs-var">upd_reqd</span></a></span><span>
</span><span id="line-1294"></span><span>                 </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_upd_info&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-1295"></span><span>                 </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_noupd_info&quot;</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1296"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-1297"></span><span>
</span><span id="line-1298"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsSelectorEntry"><span class="hs-identifier hs-type">RtsSelectorEntry</span></a></span><span> </span><span id="local-6989586621680938054"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938054"><span class="hs-identifier hs-var">upd_reqd</span></a></span></span><span> </span><span id="local-6989586621680938053"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938053"><span class="hs-identifier hs-var">offset</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1299"></span><span>    </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_sel_&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938053"><span class="hs-identifier hs-var">offset</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-1300"></span><span>                </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938054"><span class="hs-identifier hs-var">upd_reqd</span></a></span><span>
</span><span id="line-1301"></span><span>                        </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_upd_entry&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-1302"></span><span>                        </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_noupd_entry&quot;</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1303"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-1304"></span><span>
</span><span id="line-1305"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsApInfoTable"><span class="hs-identifier hs-type">RtsApInfoTable</span></a></span><span> </span><span id="local-6989586621680938052"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938052"><span class="hs-identifier hs-var">upd_reqd</span></a></span></span><span> </span><span id="local-6989586621680938051"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938051"><span class="hs-identifier hs-var">arity</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1306"></span><span>    </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938051"><span class="hs-identifier hs-var">arity</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-1307"></span><span>                </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938052"><span class="hs-identifier hs-var">upd_reqd</span></a></span><span>
</span><span id="line-1308"></span><span>                        </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_upd_info&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-1309"></span><span>                        </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_noupd_info&quot;</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1310"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-1311"></span><span>
</span><span id="line-1312"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsApEntry"><span class="hs-identifier hs-type">RtsApEntry</span></a></span><span> </span><span id="local-6989586621680938050"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938050"><span class="hs-identifier hs-var">upd_reqd</span></a></span></span><span> </span><span id="local-6989586621680938049"><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938049"><span class="hs-identifier hs-var">arity</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1313"></span><span>    </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#hcat"><span class="hs-identifier hs-var">hcat</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_ap_&quot;</span></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><a href="#local-6989586621680938049"><span class="hs-identifier hs-var">arity</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-1314"></span><span>                </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938050"><span class="hs-identifier hs-var">upd_reqd</span></a></span><span>
</span><span id="line-1315"></span><span>                        </span><span class="hs-keyword">then</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_upd_entry&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-1316"></span><span>                        </span><span class="hs-keyword">else</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_noupd_entry&quot;</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-1317"></span><span>        </span><span class="hs-special">]</span><span>
</span><span id="line-1318"></span><span>
</span><span id="line-1319"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938048"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938048"><span class="hs-identifier hs-var">fs</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmInfo"><span class="hs-identifier hs-var">CmmInfo</span></a></span><span class="hs-special">)</span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938048"><span class="hs-identifier hs-var">fs</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_info&quot;</span></span><span>
</span><span id="line-1320"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938047"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938047"><span class="hs-identifier hs-var">fs</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmEntry"><span class="hs-identifier hs-var">CmmEntry</span></a></span><span class="hs-special">)</span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938047"><span class="hs-identifier hs-var">fs</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_entry&quot;</span></span><span>
</span><span id="line-1321"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938046"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938046"><span class="hs-identifier hs-var">fs</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRetInfo"><span class="hs-identifier hs-var">CmmRetInfo</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938046"><span class="hs-identifier hs-var">fs</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_info&quot;</span></span><span>
</span><span id="line-1322"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938045"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938045"><span class="hs-identifier hs-var">fs</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmRet"><span class="hs-identifier hs-var">CmmRet</span></a></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938045"><span class="hs-identifier hs-var">fs</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_ret&quot;</span></span><span>
</span><span id="line-1323"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CmmLabel"><span class="hs-identifier hs-type">CmmLabel</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">NeedExternDecl
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680938044"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938044"><span class="hs-identifier hs-var">fs</span></a></span></span><span> </span><span class="annot"><span class="annottext">CmmLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CmmClosure"><span class="hs-identifier hs-var">CmmClosure</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938044"><span class="hs-identifier hs-var">fs</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_closure&quot;</span></span><span>
</span><span id="line-1324"></span><span>
</span><span id="line-1325"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsPrimOp"><span class="hs-identifier hs-type">RtsPrimOp</span></a></span><span> </span><span id="local-6989586621680938043"><span class="annot"><span class="annottext">PrimOp
</span><a href="#local-6989586621680938043"><span class="hs-identifier hs-var">primop</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stg_&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PrimOp -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">PrimOp
</span><a href="#local-6989586621680938043"><span class="hs-identifier hs-var">primop</span></a></span><span>
</span><span id="line-1326"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsLabel"><span class="hs-identifier hs-type">RtsLabel</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#RtsSlowFastTickyCtr"><span class="hs-identifier hs-type">RtsSlowFastTickyCtr</span></a></span><span> </span><span id="local-6989586621680938042"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621680938042"><span class="hs-identifier hs-var">pat</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1327"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;SLOW_CALL_fast_&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621680938042"><span class="hs-identifier hs-var">pat</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_ctr&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-1328"></span><span>
</span><span id="line-1329"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabel"><span class="hs-identifier hs-type">ForeignLabel</span></a></span><span> </span><span id="local-6989586621680938041"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938041"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="annot"><span class="annottext">Maybe Int
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><span class="hs-identifier">_</span></span><span> </span><span class="annot"><span class="annottext">FunctionOrData
</span><span class="hs-identifier">_</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680938041"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-1330"></span><span>
</span><span id="line-1331"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabel"><span class="hs-identifier hs-type">IdLabel</span></a></span><span> </span><span id="local-6989586621680938040"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938040"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span id="local-6989586621680938039"><span class="annot"><span class="annottext">CafInfo
</span><a href="#local-6989586621680938039"><span class="hs-identifier hs-var">_cafs</span></a></span></span><span> </span><span id="local-6989586621680938038"><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938038"><span class="hs-identifier hs-var">flavor</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Name -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#internalNamePrefix"><span class="hs-identifier hs-var">internalNamePrefix</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938066"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938040"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Name -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938040"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#ppIdFlavor"><span class="hs-identifier hs-var">ppIdFlavor</span></a></span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938038"><span class="hs-identifier hs-var">flavor</span></a></span><span>
</span><span id="line-1332"></span><span>
</span><span id="line-1333"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CC_Label"><span class="hs-identifier hs-type">CC_Label</span></a></span><span> </span><span id="local-6989586621680938035"><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938035"><span class="hs-identifier hs-var">cc</span></a></span></span><span class="hs-special">)</span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CostCentre -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentre
</span><a href="#local-6989586621680938035"><span class="hs-identifier hs-var">cc</span></a></span><span>
</span><span id="line-1334"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#CCS_Label"><span class="hs-identifier hs-type">CCS_Label</span></a></span><span> </span><span id="local-6989586621680938034"><span class="annot"><span class="annottext">CostCentreStack
</span><a href="#local-6989586621680938034"><span class="hs-identifier hs-var">ccs</span></a></span></span><span class="hs-special">)</span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CostCentreStack -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CostCentreStack
</span><a href="#local-6989586621680938034"><span class="hs-identifier hs-var">ccs</span></a></span><span>
</span><span id="line-1335"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#HpcTicksLabel"><span class="hs-identifier hs-type">HpcTicksLabel</span></a></span><span> </span><span id="local-6989586621680938033"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938033"><span class="hs-identifier hs-var">mod</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_hpc_tickboxes_&quot;</span></span><span>  </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Module -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680938033"><span class="hs-identifier hs-var">mod</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_hpc&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-1336"></span><span>
</span><span id="line-1337"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempLabel"><span class="hs-identifier hs-type">AsmTempLabel</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprCLbl AsmTempLabel&quot;</span></span><span>
</span><span id="line-1338"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#AsmTempDerivedLabel"><span class="hs-identifier hs-type">AsmTempDerivedLabel</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprCLbl AsmTempDerivedLabel&quot;</span></span><span>
</span><span id="line-1339"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabel"><span class="hs-identifier hs-type">DynamicLinkerLabel</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprCLbl DynamicLinkerLabel&quot;</span></span><span>
</span><span id="line-1340"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#PicBaseLabel"><span class="hs-identifier hs-type">PicBaseLabel</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprCLbl PicBaseLabel&quot;</span></span><span>
</span><span id="line-1341"></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Cmm.CLabel.html#DeadStripPreventer"><span class="hs-identifier hs-type">DeadStripPreventer</span></a></span><span> </span><span class="hs-special">{</span><span class="hs-special">}</span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprCLbl DeadStripPreventer&quot;</span></span><span>
</span><span id="line-1342"></span><span>
</span><span id="line-1343"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#ppIdFlavor"><span class="hs-identifier hs-type">ppIdFlavor</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#IdLabelInfo"><span class="hs-identifier hs-type">IdLabelInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1344"></span><span id="ppIdFlavor"><span class="annot"><span class="annottext">ppIdFlavor :: IdLabelInfo -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#ppIdFlavor"><span class="hs-identifier hs-var hs-var">ppIdFlavor</span></a></span></span><span> </span><span id="local-6989586621680938032"><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938032"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Cmm.CLabel.html#pp_cSEP"><span class="hs-identifier hs-var">pp_cSEP</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span>
</span><span id="line-1345"></span><span>               </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="#local-6989586621680938032"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1346"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Closure"><span class="hs-identifier hs-var">Closure</span></a></span><span>          </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;closure&quot;</span></span><span>
</span><span id="line-1347"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#InfoTable"><span class="hs-identifier hs-var">InfoTable</span></a></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;info&quot;</span></span><span>
</span><span id="line-1348"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalInfoTable"><span class="hs-identifier hs-var">LocalInfoTable</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;info&quot;</span></span><span>
</span><span id="line-1349"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Entry"><span class="hs-identifier hs-var">Entry</span></a></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;entry&quot;</span></span><span>
</span><span id="line-1350"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#LocalEntry"><span class="hs-identifier hs-var">LocalEntry</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;entry&quot;</span></span><span>
</span><span id="line-1351"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Slow"><span class="hs-identifier hs-var">Slow</span></a></span><span>             </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;slow&quot;</span></span><span>
</span><span id="line-1352"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#RednCounts"><span class="hs-identifier hs-var">RednCounts</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ct&quot;</span></span><span>
</span><span id="line-1353"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConEntry"><span class="hs-identifier hs-var">ConEntry</span></a></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;con_entry&quot;</span></span><span>
</span><span id="line-1354"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ConInfoTable"><span class="hs-identifier hs-var">ConInfoTable</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;con_info&quot;</span></span><span>
</span><span id="line-1355"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#ClosureTable"><span class="hs-identifier hs-var">ClosureTable</span></a></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;closure_tbl&quot;</span></span><span>
</span><span id="line-1356"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#Bytes"><span class="hs-identifier hs-var">Bytes</span></a></span><span>            </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;bytes&quot;</span></span><span>
</span><span id="line-1357"></span><span>                       </span><span class="annot"><span class="annottext">IdLabelInfo
</span><a href="GHC.Cmm.CLabel.html#BlockInfoTable"><span class="hs-identifier hs-var">BlockInfoTable</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;info&quot;</span></span><span>
</span><span id="line-1358"></span><span>                      </span><span class="hs-special">)</span><span>
</span><span id="line-1359"></span><span>
</span><span id="line-1360"></span><span>
</span><span id="line-1361"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#pp_cSEP"><span class="hs-identifier hs-type">pp_cSEP</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1362"></span><span id="pp_cSEP"><span class="annot"><span class="annottext">pp_cSEP :: SDoc
</span><a href="GHC.Cmm.CLabel.html#pp_cSEP"><span class="hs-identifier hs-var hs-var">pp_cSEP</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'_'</span></span><span>
</span><span id="line-1363"></span><span>
</span><span id="line-1364"></span><span>
</span><span id="line-1365"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680938029"><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelSource"><span class="hs-identifier hs-type">ForeignLabelSource</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-1366"></span><span> </span><span id="local-6989586621680938026"><span class="annot"><span class="annottext">ppr :: ForeignLabelSource -&gt; SDoc
</span><a href="#local-6989586621680938026"><span class="hs-identifier hs-var hs-var hs-var hs-var">ppr</span></a></span></span><span> </span><span id="local-6989586621680938025"><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938025"><span class="hs-identifier hs-var">fs</span></a></span></span><span>
</span><span id="line-1367"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="#local-6989586621680938025"><span class="hs-identifier hs-var">fs</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1368"></span><span>        </span><span class="annot"><a href="GHC.Cmm.CLabel.html#ForeignLabelInPackage"><span class="hs-identifier hs-type">ForeignLabelInPackage</span></a></span><span> </span><span id="local-6989586621680938024"><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680938024"><span class="hs-identifier hs-var">pkgId</span></a></span></span><span>     </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;package: &quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Unit -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Unit
</span><a href="#local-6989586621680938024"><span class="hs-identifier hs-var">pkgId</span></a></span><span>
</span><span id="line-1369"></span><span>        </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="GHC.Cmm.CLabel.html#ForeignLabelInThisPackage"><span class="hs-identifier hs-var">ForeignLabelInThisPackage</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;this package&quot;</span></span><span>
</span><span id="line-1370"></span><span>        </span><span class="annot"><span class="annottext">ForeignLabelSource
</span><a href="GHC.Cmm.CLabel.html#ForeignLabelInExternalPackage"><span class="hs-identifier hs-var">ForeignLabelInExternalPackage</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#parens"><span class="hs-identifier hs-var">parens</span></a></span><span> </span><span class="annot"><span class="annottext">(SDoc -&gt; SDoc) -&gt; SDoc -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;external package&quot;</span></span><span>
</span><span id="line-1371"></span><span>
</span><span id="line-1372"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#internalNamePrefix"><span class="hs-identifier hs-type">internalNamePrefix</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Types.Name.html#Name"><span class="hs-identifier hs-type">Name</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1373"></span><span id="internalNamePrefix"><span class="annot"><span class="annottext">internalNamePrefix :: Platform -&gt; Name -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#internalNamePrefix"><span class="hs-identifier hs-var hs-var">internalNamePrefix</span></a></span></span><span> </span><span id="local-6989586621680938023"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938023"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621680938022"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938022"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(PprStyle -&gt; SDoc) -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#getPprStyle"><span class="hs-identifier hs-var">getPprStyle</span></a></span><span> </span><span class="annot"><span class="annottext">((PprStyle -&gt; SDoc) -&gt; SDoc) -&gt; (PprStyle -&gt; SDoc) -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span> </span><span id="local-6989586621680938021"><span class="annot"><span class="annottext">PprStyle
</span><a href="#local-6989586621680938021"><span class="hs-identifier hs-var">sty</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1374"></span><span>  </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">PprStyle -&gt; Bool
</span><a href="GHC.Utils.Outputable.html#asmStyle"><span class="hs-identifier hs-var">asmStyle</span></a></span><span> </span><span class="annot"><span class="annottext">PprStyle
</span><a href="#local-6989586621680938021"><span class="hs-identifier hs-var">sty</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">&amp;&amp;</span></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680938020"><span class="hs-identifier hs-var">isRandomGenerated</span></a></span><span> </span><span class="hs-keyword">then</span><span>
</span><span id="line-1375"></span><span>      </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; PtrString
</span><a href="GHC.Cmm.CLabel.html#asmTempLabelPrefix"><span class="hs-identifier hs-var">asmTempLabelPrefix</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938023"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1376"></span><span>  </span><span class="hs-keyword">else</span><span>
</span><span id="line-1377"></span><span>    </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#empty"><span class="hs-identifier hs-var">empty</span></a></span><span>
</span><span id="line-1378"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-1379"></span><span>    </span><span id="local-6989586621680938020"><span class="annot"><span class="annottext">isRandomGenerated :: Bool
</span><a href="#local-6989586621680938020"><span class="hs-identifier hs-var hs-var">isRandomGenerated</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="annot"><span class="annottext">(Bool -&gt; Bool) -&gt; Bool -&gt; Bool
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Name -&gt; Bool
</span><a href="GHC.Types.Name.html#isExternalName"><span class="hs-identifier hs-var">isExternalName</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680938022"><span class="hs-identifier hs-var">name</span></a></span><span>
</span><span id="line-1380"></span><span>
</span><span id="line-1381"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#tempLabelPrefixOrUnderscore"><span class="hs-identifier hs-type">tempLabelPrefixOrUnderscore</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1382"></span><span id="tempLabelPrefixOrUnderscore"><span class="annot"><span class="annottext">tempLabelPrefixOrUnderscore :: Platform -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#tempLabelPrefixOrUnderscore"><span class="hs-identifier hs-var hs-var">tempLabelPrefixOrUnderscore</span></a></span></span><span> </span><span id="local-6989586621680938018"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938018"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-1383"></span><span>  </span><span class="annot"><span class="annottext">(PprStyle -&gt; SDoc) -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#getPprStyle"><span class="hs-identifier hs-var">getPprStyle</span></a></span><span> </span><span class="annot"><span class="annottext">((PprStyle -&gt; SDoc) -&gt; SDoc) -&gt; (PprStyle -&gt; SDoc) -&gt; SDoc
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span> </span><span id="local-6989586621680938017"><span class="annot"><span class="annottext">PprStyle
</span><a href="#local-6989586621680938017"><span class="hs-identifier hs-var">sty</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1384"></span><span>   </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">PprStyle -&gt; Bool
</span><a href="GHC.Utils.Outputable.html#asmStyle"><span class="hs-identifier hs-var">asmStyle</span></a></span><span> </span><span class="annot"><span class="annottext">PprStyle
</span><a href="#local-6989586621680938017"><span class="hs-identifier hs-var">sty</span></a></span><span> </span><span class="hs-keyword">then</span><span>
</span><span id="line-1385"></span><span>      </span><span class="annot"><span class="annottext">PtrString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ptext"><span class="hs-identifier hs-var">ptext</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; PtrString
</span><a href="GHC.Cmm.CLabel.html#asmTempLabelPrefix"><span class="hs-identifier hs-var">asmTempLabelPrefix</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938018"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-1386"></span><span>   </span><span class="hs-keyword">else</span><span>
</span><span id="line-1387"></span><span>      </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'_'</span></span><span>
</span><span id="line-1388"></span><span>
</span><span id="line-1389"></span><span class="hs-comment">-- -----------------------------------------------------------------------------</span><span>
</span><span id="line-1390"></span><span class="hs-comment">-- Machine-dependent knowledge about labels.</span><span>
</span><span id="line-1391"></span><span>
</span><span id="line-1392"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#asmTempLabelPrefix"><span class="hs-identifier hs-type">asmTempLabelPrefix</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#PtrString"><span class="hs-identifier hs-type">PtrString</span></a></span><span>  </span><span class="hs-comment">-- for formatting labels</span><span>
</span><span id="line-1393"></span><span id="asmTempLabelPrefix"><span class="annot"><span class="annottext">asmTempLabelPrefix :: Platform -&gt; PtrString
</span><a href="GHC.Cmm.CLabel.html#asmTempLabelPrefix"><span class="hs-identifier hs-var hs-var">asmTempLabelPrefix</span></a></span></span><span> </span><span id="local-6989586621680938016"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938016"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformOS"><span class="hs-identifier hs-var">platformOS</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938016"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1394"></span><span>    </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSDarwin"><span class="hs-identifier hs-var">OSDarwin</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;L&quot;</span></span><span>
</span><span id="line-1395"></span><span>    </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSAIX"><span class="hs-identifier hs-var">OSAIX</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;__L&quot;</span></span><span> </span><span class="hs-comment">-- follow IBM XL C's convention</span><span>
</span><span id="line-1396"></span><span>    </span><span class="annot"><span class="annottext">OS
</span><span class="hs-identifier">_</span></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; PtrString
</span><a href="GHC.Data.FastString.html#sLit"><span class="hs-identifier hs-var">sLit</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.L&quot;</span></span><span>
</span><span id="line-1397"></span><span>
</span><span id="line-1398"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#pprDynamicLinkerAsmLabel"><span class="hs-identifier hs-type">pprDynamicLinkerAsmLabel</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Platform.html#Platform"><span class="hs-identifier hs-type">Platform</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#DynamicLinkerLabelInfo"><span class="hs-identifier hs-type">DynamicLinkerLabelInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-1399"></span><span id="pprDynamicLinkerAsmLabel"><span class="annot"><span class="annottext">pprDynamicLinkerAsmLabel :: Platform -&gt; DynamicLinkerLabelInfo -&gt; CLabel -&gt; SDoc
</span><a href="GHC.Cmm.CLabel.html#pprDynamicLinkerAsmLabel"><span class="hs-identifier hs-var hs-var">pprDynamicLinkerAsmLabel</span></a></span></span><span> </span><span id="local-6989586621680938013"><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938013"><span class="hs-identifier hs-var">platform</span></a></span></span><span> </span><span id="local-6989586621680938012"><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938012"><span class="hs-identifier hs-var">dllInfo</span></a></span></span><span> </span><span id="local-6989586621680938011"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-1400"></span><span>    </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformOS"><span class="hs-identifier hs-var">platformOS</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938013"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1401"></span><span>      </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSDarwin"><span class="hs-identifier hs-var">OSDarwin</span></a></span><span>
</span><span id="line-1402"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformArch"><span class="hs-identifier hs-var">platformArch</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938013"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">Arch -&gt; Arch -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#ArchX86_64"><span class="hs-identifier hs-var">ArchX86_64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1403"></span><span>          </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938012"><span class="hs-identifier hs-var">dllInfo</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1404"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CodeStub"><span class="hs-identifier hs-var">CodeStub</span></a></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'L'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;$stub&quot;</span></span><span>
</span><span id="line-1405"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#SymbolPtr"><span class="hs-identifier hs-var">SymbolPtr</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'L'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;$non_lazy_ptr&quot;</span></span><span>
</span><span id="line-1406"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#GotSymbolPtr"><span class="hs-identifier hs-var">GotSymbolPtr</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@GOTPCREL&quot;</span></span><span>
</span><span id="line-1407"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#GotSymbolOffset"><span class="hs-identifier hs-var">GotSymbolOffset</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1408"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1409"></span><span>          </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938012"><span class="hs-identifier hs-var">dllInfo</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1410"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CodeStub"><span class="hs-identifier hs-var">CodeStub</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'L'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;$stub&quot;</span></span><span>
</span><span id="line-1411"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#SymbolPtr"><span class="hs-identifier hs-var">SymbolPtr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Char -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#char"><span class="hs-identifier hs-var">char</span></a></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'L'</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;$non_lazy_ptr&quot;</span></span><span>
</span><span id="line-1412"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><span class="hs-identifier">_</span></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprDynamicLinkerAsmLabel&quot;</span></span><span>
</span><span id="line-1413"></span><span>
</span><span id="line-1414"></span><span>      </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSAIX"><span class="hs-identifier hs-var">OSAIX</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1415"></span><span>          </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938012"><span class="hs-identifier hs-var">dllInfo</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1416"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#SymbolPtr"><span class="hs-identifier hs-var">SymbolPtr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;LC..&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="hs-comment">-- GCC's naming convention</span><span>
</span><span id="line-1417"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><span class="hs-identifier">_</span></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprDynamicLinkerAsmLabel&quot;</span></span><span>
</span><span id="line-1418"></span><span>
</span><span id="line-1419"></span><span>      </span><span class="annot"><span class="annottext">OS
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">OS -&gt; Bool
</span><a href="../../ghc-boot/src/GHC.Platform.html#osElfTarget"><span class="hs-identifier hs-var">osElfTarget</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Platform -&gt; OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformOS"><span class="hs-identifier hs-var">platformOS</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938013"><span class="hs-identifier hs-var">platform</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621680938007"><span class="hs-identifier hs-var">elfLabel</span></a></span><span>
</span><span id="line-1420"></span><span>
</span><span id="line-1421"></span><span>      </span><span class="annot"><span class="annottext">OS
</span><a href="../../ghc-boot/src/GHC.Platform.html#OSMinGW32"><span class="hs-identifier hs-var">OSMinGW32</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span>
</span><span id="line-1422"></span><span>          </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938012"><span class="hs-identifier hs-var">dllInfo</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1423"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#SymbolPtr"><span class="hs-identifier hs-var">SymbolPtr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;__imp_&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1424"></span><span>            </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><span class="hs-identifier">_</span></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprDynamicLinkerAsmLabel&quot;</span></span><span>
</span><span id="line-1425"></span><span>
</span><span id="line-1426"></span><span>      </span><span class="annot"><span class="annottext">OS
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprDynamicLinkerAsmLabel&quot;</span></span><span>
</span><span id="line-1427"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-1428"></span><span>    </span><span id="local-6989586621680938007"><span class="annot"><span class="annottext">elfLabel :: SDoc
</span><a href="#local-6989586621680938007"><span class="hs-identifier hs-var hs-var">elfLabel</span></a></span></span><span>
</span><span id="line-1429"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformArch"><span class="hs-identifier hs-var">platformArch</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938013"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">Arch -&gt; Arch -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#ArchPPC"><span class="hs-identifier hs-var">ArchPPC</span></a></span><span>
</span><span id="line-1430"></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938012"><span class="hs-identifier hs-var">dllInfo</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1431"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CodeStub"><span class="hs-identifier hs-var">CodeStub</span></a></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-comment">-- See Note [.LCTOC1 in PPC PIC code]</span><span>
</span><span id="line-1432"></span><span>                       </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;+32768@plt&quot;</span></span><span>
</span><span id="line-1433"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#SymbolPtr"><span class="hs-identifier hs-var">SymbolPtr</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.LC_&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1434"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><span class="hs-identifier">_</span></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprDynamicLinkerAsmLabel&quot;</span></span><span>
</span><span id="line-1435"></span><span>
</span><span id="line-1436"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformArch"><span class="hs-identifier hs-var">platformArch</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938013"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">Arch -&gt; Arch -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#ArchX86_64"><span class="hs-identifier hs-var">ArchX86_64</span></a></span><span>
</span><span id="line-1437"></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938012"><span class="hs-identifier hs-var">dllInfo</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1438"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CodeStub"><span class="hs-identifier hs-var">CodeStub</span></a></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@plt&quot;</span></span><span>
</span><span id="line-1439"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#GotSymbolPtr"><span class="hs-identifier hs-var">GotSymbolPtr</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@gotpcrel&quot;</span></span><span>
</span><span id="line-1440"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#GotSymbolOffset"><span class="hs-identifier hs-var">GotSymbolOffset</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1441"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#SymbolPtr"><span class="hs-identifier hs-var">SymbolPtr</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.LC_&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1442"></span><span>
</span><span id="line-1443"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformArch"><span class="hs-identifier hs-var">platformArch</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938013"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">Arch -&gt; Arch -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">PPC_64ABI -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#ArchPPC_64"><span class="hs-identifier hs-var">ArchPPC_64</span></a></span><span> </span><span class="annot"><span class="annottext">PPC_64ABI
</span><a href="../../ghc-boot/src/GHC.Platform.html#ELF_V1"><span class="hs-identifier hs-var">ELF_V1</span></a></span><span>
</span><span id="line-1444"></span><span>        </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">Platform -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#platformArch"><span class="hs-identifier hs-var">platformArch</span></a></span><span> </span><span class="annot"><span class="annottext">Platform
</span><a href="#local-6989586621680938013"><span class="hs-identifier hs-var">platform</span></a></span><span> </span><span class="annot"><span class="annottext">Arch -&gt; Arch -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">PPC_64ABI -&gt; Arch
</span><a href="../../ghc-boot/src/GHC.Platform.html#ArchPPC_64"><span class="hs-identifier hs-var">ArchPPC_64</span></a></span><span> </span><span class="annot"><span class="annottext">PPC_64ABI
</span><a href="../../ghc-boot/src/GHC.Platform.html#ELF_V2"><span class="hs-identifier hs-var">ELF_V2</span></a></span><span>
</span><span id="line-1445"></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938012"><span class="hs-identifier hs-var">dllInfo</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1446"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#GotSymbolPtr"><span class="hs-identifier hs-var">GotSymbolPtr</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.LC_&quot;</span></span><span>  </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1447"></span><span>                                  </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@toc&quot;</span></span><span>
</span><span id="line-1448"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#GotSymbolOffset"><span class="hs-identifier hs-var">GotSymbolOffset</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1449"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#SymbolPtr"><span class="hs-identifier hs-var">SymbolPtr</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.LC_&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1450"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><span class="hs-identifier">_</span></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
forall a. String -&gt; a
</span><a href="GHC.Utils.Panic.Plain.html#panic"><span class="hs-identifier hs-var">panic</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pprDynamicLinkerAsmLabel&quot;</span></span><span>
</span><span id="line-1451"></span><span>
</span><span id="line-1452"></span><span>      </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>
</span><span id="line-1453"></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="#local-6989586621680938012"><span class="hs-identifier hs-var">dllInfo</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-1454"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#CodeStub"><span class="hs-identifier hs-var">CodeStub</span></a></span><span>        </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@plt&quot;</span></span><span>
</span><span id="line-1455"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#SymbolPtr"><span class="hs-identifier hs-var">SymbolPtr</span></a></span><span>       </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;.LC_&quot;</span></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span>
</span><span id="line-1456"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#GotSymbolPtr"><span class="hs-identifier hs-var">GotSymbolPtr</span></a></span><span>    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@got&quot;</span></span><span>
</span><span id="line-1457"></span><span>          </span><span class="annot"><span class="annottext">DynamicLinkerLabelInfo
</span><a href="GHC.Cmm.CLabel.html#GotSymbolOffset"><span class="hs-identifier hs-var">GotSymbolOffset</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680938011"><span class="hs-identifier hs-var">lbl</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;@gotoff&quot;</span></span><span>
</span><span id="line-1458"></span><span>
</span><span id="line-1459"></span><span class="hs-comment">-- Figure out whether `symbol` may serve as an alias</span><span>
</span><span id="line-1460"></span><span class="hs-comment">-- to `target` within one compilation unit.</span><span>
</span><span id="line-1461"></span><span class="hs-comment">--</span><span>
</span><span id="line-1462"></span><span class="hs-comment">-- This is true if any of these holds:</span><span>
</span><span id="line-1463"></span><span class="hs-comment">-- * `target` is a module-internal haskell name.</span><span>
</span><span id="line-1464"></span><span class="hs-comment">-- * `target` is an exported name, but comes from the same</span><span>
</span><span id="line-1465"></span><span class="hs-comment">--   module as `symbol`</span><span>
</span><span id="line-1466"></span><span class="hs-comment">--</span><span>
</span><span id="line-1467"></span><span class="hs-comment">-- These are sufficient conditions for establishing e.g. a</span><span>
</span><span id="line-1468"></span><span class="hs-comment">-- GNU assembly alias ('.equiv' directive). Sadly, there is</span><span>
</span><span id="line-1469"></span><span class="hs-comment">-- no such thing as an alias to an imported symbol (conf.</span><span>
</span><span id="line-1470"></span><span class="hs-comment">-- http://blog.omega-prime.co.uk/2011/07/06/the-sad-state-of-symbol-aliases/)</span><span>
</span><span id="line-1471"></span><span class="hs-comment">-- See note [emit-time elimination of static indirections].</span><span>
</span><span id="line-1472"></span><span class="hs-comment">--</span><span>
</span><span id="line-1473"></span><span class="hs-comment">-- Precondition is that both labels represent the</span><span>
</span><span id="line-1474"></span><span class="hs-comment">-- same semantic value.</span><span>
</span><span id="line-1475"></span><span>
</span><span id="line-1476"></span><span class="annot"><a href="GHC.Cmm.CLabel.html#mayRedirectTo"><span class="hs-identifier hs-type">mayRedirectTo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Cmm.CLabel.html#CLabel"><span class="hs-identifier hs-type">CLabel</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-1477"></span><span id="mayRedirectTo"><span class="annot"><span class="annottext">mayRedirectTo :: CLabel -&gt; CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#mayRedirectTo"><span class="hs-identifier hs-var hs-var">mayRedirectTo</span></a></span></span><span> </span><span id="local-6989586621680937984"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680937984"><span class="hs-identifier hs-var">symbol</span></a></span></span><span> </span><span id="local-6989586621680937983"><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680937983"><span class="hs-identifier hs-var">target</span></a></span></span><span>
</span><span id="line-1478"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621680937982"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680937982"><span class="hs-identifier hs-var">nam</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Maybe Name
</span><a href="#local-6989586621680937981"><span class="hs-identifier hs-var">haskellName</span></a></span><span>
</span><span id="line-1479"></span><span> </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680937980"><span class="hs-identifier hs-var">staticClosureLabel</span></a></span><span>
</span><span id="line-1480"></span><span> </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Name -&gt; Bool
</span><a href="GHC.Types.Name.html#isExternalName"><span class="hs-identifier hs-var">isExternalName</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680937982"><span class="hs-identifier hs-var">nam</span></a></span><span>
</span><span id="line-1481"></span><span> </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621680937979"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680937979"><span class="hs-identifier hs-var">mod</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Name -&gt; Maybe Module
</span><a href="GHC.Types.Name.html#nameModule_maybe"><span class="hs-identifier hs-var">nameModule_maybe</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680937982"><span class="hs-identifier hs-var">nam</span></a></span><span>
</span><span id="line-1482"></span><span> </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621680937977"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680937977"><span class="hs-identifier hs-var">anam</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; Maybe Name
</span><a href="GHC.Cmm.CLabel.html#hasHaskellName"><span class="hs-identifier hs-var">hasHaskellName</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680937984"><span class="hs-identifier hs-var">symbol</span></a></span><span>
</span><span id="line-1483"></span><span> </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621680937976"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680937976"><span class="hs-identifier hs-var">amod</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Name -&gt; Maybe Module
</span><a href="GHC.Types.Name.html#nameModule_maybe"><span class="hs-identifier hs-var">nameModule_maybe</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680937977"><span class="hs-identifier hs-var">anam</span></a></span><span>
</span><span id="line-1484"></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680937976"><span class="hs-identifier hs-var">amod</span></a></span><span> </span><span class="annot"><span class="annottext">Module -&gt; Module -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><span class="hs-operator hs-var">==</span></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680937979"><span class="hs-identifier hs-var">mod</span></a></span><span>
</span><span id="line-1485"></span><span>
</span><span id="line-1486"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621680937975"><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680937975"><span class="hs-identifier hs-var">nam</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Maybe Name
</span><a href="#local-6989586621680937981"><span class="hs-identifier hs-var">haskellName</span></a></span><span>
</span><span id="line-1487"></span><span> </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680937980"><span class="hs-identifier hs-var">staticClosureLabel</span></a></span><span>
</span><span id="line-1488"></span><span> </span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">Name -&gt; Bool
</span><a href="GHC.Types.Name.html#isInternalName"><span class="hs-identifier hs-var">isInternalName</span></a></span><span> </span><span class="annot"><span class="annottext">Name
</span><a href="#local-6989586621680937975"><span class="hs-identifier hs-var">nam</span></a></span><span>
</span><span id="line-1489"></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-1490"></span><span>
</span><span id="line-1491"></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-1492"></span><span>   </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621680937980"><span class="annot"><span class="annottext">staticClosureLabel :: Bool
</span><a href="#local-6989586621680937980"><span class="hs-identifier hs-var hs-var">staticClosureLabel</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; Bool
</span><a href="GHC.Cmm.CLabel.html#isStaticClosureLabel"><span class="hs-identifier hs-var">isStaticClosureLabel</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680937983"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-1493"></span><span>         </span><span id="local-6989586621680937981"><span class="annot"><span class="annottext">haskellName :: Maybe Name
</span><a href="#local-6989586621680937981"><span class="hs-identifier hs-var hs-var">haskellName</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CLabel -&gt; Maybe Name
</span><a href="GHC.Cmm.CLabel.html#hasHaskellName"><span class="hs-identifier hs-var">hasHaskellName</span></a></span><span> </span><span class="annot"><span class="annottext">CLabel
</span><a href="#local-6989586621680937983"><span class="hs-identifier hs-var">target</span></a></span><span>
</span><span id="line-1494"></span><span>
</span><span id="line-1495"></span><span>
</span><span id="line-1496"></span><span class="hs-comment">{-
Note [emit-time elimination of static indirections]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As described in #15155, certain static values are representationally
equivalent, e.g. 'cast'ed values (when created by 'newtype' wrappers).

             newtype A = A Int
             {-# NOINLINE a #-}
             a = A 42

a1_rYB :: Int
[GblId, Caf=NoCafRefs, Unf=OtherCon []]
a1_rYB = GHC.Types.I# 42#

a [InlPrag=NOINLINE] :: A
[GblId, Unf=OtherCon []]
a = a1_rYB `cast` (Sym (T15155.N:A[0]) :: Int ~R# A)

Formerly we created static indirections for these (IND_STATIC), which
consist of a statically allocated forwarding closure that contains
the (possibly tagged) indirectee. (See CMM/assembly below.)
This approach is suboptimal for two reasons:
  (a) they occupy extra space,
  (b) they need to be entered in order to obtain the indirectee,
      thus they cannot be tagged.

Fortunately there is a common case where static indirections can be
eliminated while emitting assembly (native or LLVM), viz. when the
indirectee is in the same module (object file) as the symbol that
points to it. In this case an assembly-level identification can
be created ('.equiv' directive), and as such the same object will
be assigned two names in the symbol table. Any of the identified
symbols can be referenced by a tagged pointer.

Currently the 'mayRedirectTo' predicate will
give a clue whether a label can be equated with another, already
emitted, label (which can in turn be an alias). The general mechanics
is that we identify data (IND_STATIC closures) that are amenable
to aliasing while pretty-printing of assembly output, and emit the
'.equiv' directive instead of static data in such a case.

Here is a sketch how the output is massaged:

                     Consider
newtype A = A Int
{-# NOINLINE a #-}
a = A 42                                -- I# 42# is the indirectee
                                        -- 'a' is exported

                 results in STG

a1_rXq :: GHC.Types.Int
[GblId, Caf=NoCafRefs, Unf=OtherCon []] =
    CCS_DONT_CARE GHC.Types.I#! [42#];

T15155.a [InlPrag=NOINLINE] :: T15155.A
[GblId, Unf=OtherCon []] =
    CAF_ccs  \ u  []  a1_rXq;

                 and CMM

[section &quot;&quot;data&quot; . a1_rXq_closure&quot; {
     a1_rXq_closure:
         const GHC.Types.I#_con_info;
         const 42;
 }]

[section &quot;&quot;data&quot; . T15155.a_closure&quot; {
     T15155.a_closure:
         const stg_IND_STATIC_info;
         const a1_rXq_closure+1;
         const 0;
         const 0;
 }]

The emitted assembly is

#### INDIRECTEE
a1_rXq_closure:                         -- module local haskell value
        .quad   GHC.Types.I#_con_info   -- an Int
        .quad   42

#### BEFORE
.globl T15155.a_closure                 -- exported newtype wrapped value
T15155.a_closure:
        .quad   stg_IND_STATIC_info     -- the closure info
        .quad   a1_rXq_closure+1        -- indirectee ('+1' being the tag)
        .quad   0
        .quad   0

#### AFTER
.globl T15155.a_closure                 -- exported newtype wrapped value
.equiv a1_rXq_closure,T15155.a_closure  -- both are shared

The transformation is performed because
     T15155.a_closure `mayRedirectTo` a1_rXq_closure+1
returns True.
-}</span><span>
</span><span id="line-1594"></span></pre></body></html>